Сигналы и слоты (Qt)

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: Библиотека Qt предоставляет гибкую систему уведомления и обмена данными между объектами. Эта система ...)
(Соединение сигналов и слотов)
Строка 2: Строка 2:
== Соединение сигналов и слотов ==
== Соединение сигналов и слотов ==
 +
Соединение сигналов и слотов осуществляется:
 +
# В классах наследниках от [[Qt:Документация 4.3.2/qobject|QObject]] функцией [[Qt:Документация_4.3.2/qobject#connect-2|connect()]].
 +
# В прочих местах программы с помощью статической функциии-члена [[Qt:Документация_4.3.2/qobject#connect|QObject::connect()]]
 +
Аргументами этой функции являются:
 +
* указатель на объект-отправитель
 +
* сигнал объекта-отправителя
 +
* указатель на объект-получатель
 +
* слот объекта-получателя
 +
 +
 +
=== Без параметров ===
 +
например:
 +
{{code|qt|code=
 +
QPushButton btn_quit = new QPushButton("Quit",wgt);
 +
...
 +
QObject::connect(btn_quit, SIGNAL(clicked()), qApp, SLOT(quit()));
 +
}}
 +
 +
 +
=== С параметрами ===
== Объявление собственных сигналов и слотов ==
== Объявление собственных сигналов и слотов ==

Версия 14:43, 27 декабря 2008

Библиотека Qt предоставляет гибкую систему уведомления и обмена данными между объектами. Эта система реализуется посредством концепции сигналов и слотов.

Содержание

Соединение сигналов и слотов

Соединение сигналов и слотов осуществляется:

  1. В классах наследниках от QObject функцией connect().
  2. В прочих местах программы с помощью статической функциии-члена QObject::connect()

Аргументами этой функции являются:

  • указатель на объект-отправитель
  • сигнал объекта-отправителя
  • указатель на объект-получатель
  • слот объекта-получателя


Без параметров

например:

QPushButton btn_quit = new QPushButton("Quit",wgt);
...
QObject::connect(btn_quit, SIGNAL(clicked()), qApp, SLOT(quit()));


С параметрами

Объявление собственных сигналов и слотов