Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Qt: возможен ли неявный connect?

#cpp #qt #qt5


Мне дали доработать приложение написанное с использованием Qt. В приложении есть
некий диалог унаследованный от QDialog. В этом диалоге есть QPushButton по имени btnCheck.
Так же есть обработчик нажатия на эту кнопку:

private slots:
void on_btnCheck_clicked();


И нигде в этом проекте не вызывается connect связывающий сигнал clicked кнопки btnCheck
со слотом on_btnCheck_clicked в этом диалоге. Поиск по файлам всего проекта находит
всего лишь два вхождения слова on_btnCheck_clicked: при объявлении и при определении
этой функции.

При этом фактически связь есть - при нажатии на кнопку вызывается этот обработчик.

Подскажите пожалуйста, как кроме вызова connect можно связать сигнал и слот? Просмотрел
документацию, но там ничего про это не нашёл.
    


Ответы

Ответ 1



В "Signals & Slots", есть ссылка automatic connections там написано, что, для этого надо чтобы имя слота было объявлено специальным образом: void on__();

Ответ 2



Судя по всему, в проекте используются UI файлы, которые обрабатываются uic, генерирующим код подключения автоматически. Подробнее можно почитать в Widgets and Dialogs with Auto-Connect

Комментариев нет:

Отправить комментарий