Сигналы и слоты Qt . Функция connect()
Primary tabs
Общая схема:
Сигналы
Сигналы подаются ("порождаются") в тот момент, когда происходит ожидаемое событие.
Виджеты Qt имеют большое количество предопределённых сигналов - но мы всегда можем определить производный от стандартного класс чтобы добавить к нему собственные сигналы.
Сигналы порождаются объектом , когда его внутренне состояние как-то изменяется.
Слоты
Слоты (фактически - это функции/методы) - запускаются , когда порождается сигнал прикреплённый к данным слотам.
Слот также можно назвать методом-реакцией объекта на определённый сигнал - сигнал, закреплённый за этим слотом.
Привязка сигнала к слоту
Чтобы прикрепить сигнал к слоту мы используем функцию:
QObject::connect()
и пару макросов - SIGNAL() и SLOT()
Её сигнатура в полном виде выглядит так:
bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection ) [static]
Данная функция создаёт соединение указанного типа (type) между сигналом(signal) указанного отправителя (sender) и методом (method) принимающего сигнал объекта (receiver)
При этом для спецификации сигналов и слотов следует использовать макросы SIGNAL() и SLOT() - пример здесь
источник = http://qt-project.org/doc/qt-4.8/signals...
также очень полезно почитать = http://www.opennet.ru/docs/RUS/qt3_prog/...
- Log in to post comments
- 6136 reads