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

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