Шаг 161.
Библиотека Qt.
Изменяющиеся диалоговые окна. Функциональное наполнение

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

    Теперь, когда форма спроектирована, мы готовы обеспечить ее функциональное наполнение, устанавливая некоторые соединения "сигнал-слот". Qt Designer позволяет устанавливать соединения между виджетами одной формы. Нам требуется обеспечить два соединения (рис. 1):


Рис.1. Соединение виджетов формы

  1. Выберите функцию меню Edit/Edit Signals/Slots (Правка/Изменение сигналов/слотов) для входа в режим формирования соединений в Qt Designer. Соединения представлены синими стрелками между виджетами формы, как показано на рис. 1, и также они указаны в окне редактора сигналов/слотов Qt Designer.
  2. Для установки соединения между двумя виджетами щелкните по виджету, передающему сигнал, соедините красную стрелку с виджетом, получателем сигнала, и отпустите клавишу мышки. В результате будет выдано диалоговое окно, позволяющее выбрать для соединения сигнал и слот.
  3. Сначала устанавливается соединение между okButton и слотом accept() формы. Перетащите красную стрелку от okButton к пустой части формы и отпустите кнопку мыши. Появится диалоговое окно Configure Connection (Настройка соединения), показанное на рис. 2. Выберите сигнал clicked() и слот accept() и нажмите ОК.


    Рис.2. Редактор соединений в Qt Designer

  4. Для создания второго соединения перетащите красную стрелку от cancelButton на пустую область формы и в диалоговом окне Configure Connection (Настройка соединения) соедините сигнал clicked() кнопки со слотом reject() формы.
  5. Третье соединение устанавливается между moreButton и secondaryGroupBox. Соедините эти два виджета красной стрелкой, затем выберите toggled(bool) в качестве сигнала и setVisible(bool) в качестве слота. По умолчанию Qt Designer не имеет в списке слотов setVisible(bool), но он появится, если вы включите режим Show all signals and slots (Показывать сигналы и слоты, унаследованные от QWidget).
  6. Четвертое, и последнее, соединение устанавливается между сигналом toggled(bool) виджета moreButton и слотом setVisible(bool) виджета tertiaryGroupBox.
  7. После установки соединения выберите функцию меню Edit/Edit Widgets (Правка/Изменение виджетов) для выхода из режима установки соединений.
  8. Сохраните диалог под именем sortdialog.ui в каталоге sort.

    Для добавления программного кода в форму мы будем использовать тот же подход на основе множественного наследования, который нами применялся в шаге 156 для диалога "Переход к ячейке".

    На следующем шаге рассмотрим добавление программного кода в форму.




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