Шаг 161.
Библиотека Qt.
Изменяющиеся диалоговые окна. Функциональное наполнение
На этом шаге продолжим рассматривать проектирование изменяемых диалоговых окон и установим некоторые соединения "сигнал-слот".
Теперь, когда форма спроектирована, мы готовы обеспечить ее функциональное наполнение, устанавливая некоторые соединения "сигнал-слот". Qt Designer позволяет устанавливать соединения между виджетами одной формы. Нам требуется обеспечить два соединения (рис. 1):
Рис.1. Соединение виджетов формы
- Выберите функцию меню Edit/Edit Signals/Slots (Правка/Изменение сигналов/слотов) для входа в режим формирования соединений в Qt Designer. Соединения представлены синими стрелками между виджетами формы, как показано на рис. 1, и также они указаны в окне редактора сигналов/слотов Qt Designer.
Для установки соединения между двумя виджетами щелкните по виджету,
передающему сигнал, соедините красную стрелку с виджетом, получателем
сигнала, и отпустите клавишу мышки. В результате будет выдано диалоговое окно, позволяющее выбрать для соединения сигнал и слот.
- Сначала устанавливается соединение между okButton и слотом accept() формы. Перетащите красную стрелку от okButton к пустой части формы и отпустите кнопку мыши. Появится диалоговое окно Configure Connection (Настройка соединения), показанное на рис. 2. Выберите сигнал clicked() и слот accept() и нажмите ОК.
Рис.2. Редактор соединений в Qt Designer
- Для создания второго соединения перетащите красную стрелку от cancelButton на пустую область формы и в диалоговом окне Configure Connection (Настройка соединения) соедините сигнал clicked() кнопки со слотом reject() формы.
- Третье соединение устанавливается между moreButton и secondaryGroupBox. Соедините эти два виджета красной стрелкой, затем выберите toggled(bool) в качестве сигнала и setVisible(bool) в качестве слота. По умолчанию Qt Designer не имеет в списке слотов setVisible(bool), но он появится, если вы включите режим Show all signals and slots (Показывать сигналы и слоты, унаследованные от QWidget).
- Четвертое, и последнее, соединение устанавливается между сигналом toggled(bool) виджета moreButton и слотом setVisible(bool) виджета tertiaryGroupBox.
- После установки соединения выберите функцию меню Edit/Edit Widgets (Правка/Изменение виджетов) для выхода из режима установки соединений.
- Сохраните диалог под именем sortdialog.ui в каталоге sort.
Для добавления программного кода в форму мы будем использовать тот же подход на основе множественного наследования, который нами применялся в шаге 156
для диалога "Переход к ячейке".
На следующем шаге рассмотрим добавление программного кода в форму.
Предыдущий шаг
Содержание
Следующий шаг