Шаг 151.
Библиотека Qt.
Пример создания диалогового окна поиска. Слоты диалогового окна

    На этом шаге продолжим рассматривать пример создания диалогового окна поиска.

    Теперь мы рассмотрим слоты диалогового окна.

//Слот findClicked() вызывается при нажатии пользователем кнопки Найти далее
void FindDialog::findClicked()
{
    QString text = lineEdit->text();
    Qt::CaseSensitivity cs =
            caseCheckBox->isChecked() ? Qt::CaseSensitive
                                      : Qt::CaseInsensitive;
    //Генерирует сигнал findPrevious() или findNext() в зависимости от состояния
    //флажка Искать вверх. Ключевое слово emit (генерировать сигнал)
    //имеет особый смысл в Qt; как и другие расширения Qt, оно преобразуется
    //препроцессором C++ в стандартные инструкции C++
    if (backwardCheckBox->isChecked()) {
        emit findPrevious(text, cs);
    } else {
        emit findNext(text, cs);
    }
}
//Слот enableFindButton() вызывается при любом изменении значения в строке
//редактирования. Он устанавливает активный режим кнопки, если в 
//редактируемой строке имеется какой-нибудь текст; в противном случае кнопка
//устанавливается в неактивный режим
void FindDialog::enableFindButton(const QString &text)
{
    findButton->setEnabled(!text.isEmpty());
}

    Эти два слота завершают написание программы диалогового окна.

    На следующем шаге продолжим рассматривать пример создания диалогового окна поиска.




Предыдущий шаг Содержание Следующий шаг