Сигналы и слоты (Qt)
Материал из Wiki.crossplatform.ru
(Различия между версиями)
Lit-uriy (Обсуждение | вклад) (→Соединение сигналов и слотов) |
Lit-uriy (Обсуждение | вклад) м (→Соединение сигналов и слотов) |
||
Строка 12: | Строка 12: | ||
* слот объекта-получателя | * слот объекта-получателя | ||
+ | При соединении сигнало в и слотов можно передавать параметры от сигнала к слоту, если существует сответствующая пара сигнал/слот. | ||
=== Без параметров === | === Без параметров === | ||
- | |||
{{code|qt|code= | {{code|qt|code= | ||
QPushButton btn_quit = new QPushButton("Quit",wgt); | QPushButton btn_quit = new QPushButton("Quit",wgt); | ||
Строка 20: | Строка 20: | ||
QObject::connect(btn_quit, SIGNAL(clicked()), qApp, SLOT(quit())); | QObject::connect(btn_quit, SIGNAL(clicked()), qApp, SLOT(quit())); | ||
}} | }} | ||
- | + | В этом примере сигнал clicked() от кнопки соеденяется со слотом quit() приложения | |
=== С параметрами === | === С параметрами === | ||
== Объявление собственных сигналов и слотов == | == Объявление собственных сигналов и слотов == |
Версия 14:45, 27 декабря 2008
Библиотека Qt предоставляет гибкую систему уведомления и обмена данными между объектами. Эта система реализуется посредством концепции сигналов и слотов.
Содержание |
Соединение сигналов и слотов
Соединение сигналов и слотов осуществляется:
- В классах наследниках от QObject функцией connect().
- В прочих местах программы с помощью статической функциии-члена QObject::connect()
Аргументами этой функции являются:
- указатель на объект-отправитель
- сигнал объекта-отправителя
- указатель на объект-получатель
- слот объекта-получателя
При соединении сигнало в и слотов можно передавать параметры от сигнала к слоту, если существует сответствующая пара сигнал/слот.
Без параметров
QPushButton btn_quit = new QPushButton("Quit",wgt); ... QObject::connect(btn_quit, SIGNAL(clicked()), qApp, SLOT(quit()));
В этом примере сигнал clicked() от кнопки соеденяется со слотом quit() приложения