воскресенье, 26 мая 2013 г.

Сигналы и слоты - всё по понятиям


Ключевым механизмом взаимодействия объектов в Qt являются сигналы и слоты.  Каждый объект, интегрированный в систему управления Qt, т.е. описанный как Q_OBJECT, может иметь типизированные слоты, обеспечивающие прием и обработку типизированных сигналов от других объектов, и собственные сигналы, прием которых могут осуществлять другие объекты. Связь между сигналами и слотами конкретных объектов устанавливается посредством функции connect(…).


Декларация сигналов и слотов осуществляется в теле класса с помощью ключевых слов signals и slots, воспринимаемых компилятором moc. Если необходимо предотвратить использование указанных ключевых слов, встречающихся в других библиотеках, то вместо них используют ключевые слова Q_SIGNALS, Q_SLOTS.
По правилам Qt один слот может принимать несколько сигналов, а один сигнал транслироваться на несколько слотов. Причем во взаимодействии участвуют не классы, а конкретные объекты, поэтому схема передачи сигналов к слотам может быть в любой момент динамически изменена.
Следует отметить, что механизм слотов не исключает возможности использования средств наследования и полиморфизма языка C++, так что любой класс Qt может быть переопределен.

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

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