Настройка поведения формы. Механизм сигналов и слотов

Продолжим развивать наше приложение. Сделаем так, чтобы при нажатии на кнопку «Очистить», на форме очищались поля редактирования. Для этого откроем Редактор сигналов и слотов, нажмем на зеленый крестик и добавим запись.

Используя двойной клик мышкой и выпадающие списки, изменим значения полей созданной строки. В поле Отправитель установим pushButtonClaer, в поле Сигнал выберем clicked(), в поле Получатель lineEdit_1, в поле Слот clear().

Нажмем еще раз на зеленый крестик и добавим еще одну строчку. Настроим ее аналогично, за тем исключением, что в поле Получатель выберем lineEdit_2. Окно среды разработки примет вид, аналогичный рис. 6.

Рис. 6. Добавление сигналов и слотов.

Проверяем, запускаем. Должно работать.

Механизм сигналов и слотов позволяет реализовать взаимодействие и интерфейса и пользователя. Элементы интерфейса реагируют на действия пользователя, посылая сигналы. В Qt под сигналами подразумеваются методы, которые в состоянии осуществить пересылку сообщений. Сигналы определяются в классе, как обычные методы, только без реализации. С точки зрения программиста они являются только прототипами методов, содержащихся в заголовочном файле определения класса.

Библиотека предоставляет большое число уже готовых сигналов для существующих элементов управления, однако иногда возникает необходимость реализации новых сигналов в своих классах.

Слоты – это методы, которые присоединяются к сигналам. Для простоты можно считать что, слоты являются функциями способными принимать сигналы. Сигналы не обязательно соединять со слотом. Если соединение не произошло, то сигнал просто не будет обрабатываться. Один сигнал можно соединить с несколькими слотами, один слот в свою очередь может быть соединен с многими сигналами.

Сигналы и слоты это концепция, отличающая Qt от C++ Builder и Delphi, которые используют функции обратного вызова для обработки событий формы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: