Шрифт:
Просто передайте объект, владеющий сигналом (отправитель), функцию сигнала, объект, владеющий слотом (приемником), и в завершение укажите имя слота.
В примере MyWindow, если бы вы захотели связать сигнал
Учтите, что необходимо применять макросы
Остается реализовать ваш слот в виде обычной функции-метода:
Выполните упражнение 17.2.
Теперь, зная основы использования сигналов и слотов, применим их в примере. Усовершенствуйте
1. Введите следующее объявление класса и назовите файл ButtonWindow.h:
2. Далее следует реализация класса в файле ButtonWindow.cpp:
3. В конструкторе вы задаете заголовок окна, создаете кнопку и связываете сигнал нажатия кнопки с вашим слотом.
4. Qt автоматически удаляет виджеты, поэтому ваш деструктор пуст:
5. Затем реализация слота:
6. И наконец, в функции
7. Прежде чем вы сможете откомпилировать данный пример, необходимо запустить препроцессор для заголовочного файла. Программа этого препроцессора называется Meta Object Compiler (moc, компилятор метаобъекта) и должна быть включена в пакет комплекта Qt. Выполните
Теперь можно компилировать как обычно, скомпоновав с результатом команды