Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QEvent
[модуль QtCore]

Класс QEvent является базовым классом для всех классов сообщений. Объекты сообщений содержат параметры сообщений. Далее...

#include <QEvent>

Наследуется QAccessibleEvent, QActionEvent, QChildEvent, QCloseEvent, QCustomEvent, QDragLeaveEvent, QDropEvent, QFileOpenEvent, QFocusEvent, QHelpEvent, QHideEvent, QHoverEvent, QIconDragEvent, QInputEvent, QInputMethodEvent, QMoveEvent, QPaintEvent, QResizeEvent, QShortcutEvent, QShowEvent, QStatusTipEvent, QTimerEvent, QWhatsThisClickedEvent, and QWindowStateChangeEvent.

Открытые Типы

Свойства

Открытые Функции


Подробное Описание

Класс QEvent является базовым классом для всех классов сообщений. Объекты сообщений содержат параметры сообщений.

Главный цикл обработки сообщений Qt (QCoreApplication::exec()) получает родные сообщения оконной системы из очереди сообщений, конвертирует их в QEvents, и пересылает конвертированные сообщения в QObject.

Вообще сообщения поступают от основной оконной системы (spontaneous() возвращает true), но также возможна и посылка сообщений вручную с использованием QCoreApplication::sendEvent() и QCoreApplication::postEvent() (spontaneous() возвращает false).

QObject получает сообщения, при их наличии, с помощью вызова функции QObject::event(). Эта функция может быть повторно реализована в подклассах для настройки обработки сообщений и добавления новых типов сообщений; известный пример: QWidget::event(). По умолчанию, сообщения пересылаются обработчикам событий, подобным QObject::timerEvent() и QWidget::mouseMoveEvent(). QObject::installEventFilter() позволяет объекту перехватывать сообщения адресованные другому объекту.

Простейший QEvent содержит только параметр с типом сообщения и флаг "accept". Флаг "accept" устанавливается с помощью accept() и очищается с помощью ignore(). По умолчанию он установлен, но не стоит на это полагаться, поскольку подклассы могут захотеть сбрасывать его в конструкторе.

Подклассы QEvent содержат дополнительные параметры, которые описывают специфические сообщения.

См. также QObject::event(), QObject::installEventFilter(), QWidget::event(), QCoreApplication::sendEvent(), QCoreApplication::postEvent() и QCoreApplication::processEvents().


Описание Типов Членов

enum QEvent::Type

Данный тип перечисления описывает действительные типы сообщений Qt. Типы сообщений и соответствующие каждому из них специализированные классы следующие:

КонстантаЗначениеОписание
QEvent::None0Нет сообщения.
QEvent::AccessibilityDescription130Используется для запроса текстов описания доступности (QAccessibleEvent).
QEvent::AccessibilityHelp119Используется для запроса текста подсказки (QAccessibleEvent).
QEvent::AccessibilityPrepare86Требуется информация о доступности.
QEvent::ActionAdded114Было добавлено новое действие (QActionEvent).
QEvent::ActionChanged113Действие было изменено (QActionEvent).
QEvent::ActionRemoved115Действие было удалено (QActionEvent).
QEvent::ActivationChange99Изменилось состояние активности окна виджета верхнего уровня.
QEvent::ApplicationActivated121Приложение было сделано доступным пользователю.
QEvent::ApplicationDeactivated122Приложение было приостановлено и сделано недоступным пользователю.
QEvent::ApplicationFontChange36Шрифт приложения по умолчанию был изменен.
QEvent::ApplicationLayoutDirectionChange37Было изменено направления компоновки приложения по умолчанию.
QEvent::ApplicationPaletteChange38Была изменена палитра приложения по умолчанию.
QEvent::ApplicationWindowIconChange35Изменена пиктограмма приложения.
QEvent::ChildAdded68Объект приобретает дочернего объекта (QChildEvent).
QEvent::ChildPolished69Настраивается дочерний объект виджета (QChildEvent).
QEvent::ChildRemoved71Объект теряет дочернего объекта (QChildEvent).
QEvent::Clipboard40Содержимое буфера обмена было изменено (QClipboardEvent).
QEvent::Close19Виджет был закрыт (QCloseEvent).
QEvent::ContextMenu82Всплывающее контестное меню (QContextMenuEvent).
QEvent::DeferredDelete52Объект будет удален после очистки.
QEvent::DragEnter60Указатель мыши входит в область виджета в процессе операции drag and drop (QDragEnterEvent).
QEvent::DragLeave62Указатель мыши покидает область виджета в процессе операции drag and drop (QDragLeaveEvent).
QEvent::DragMove61Происходит операция drag and drop (QDragMoveEvent).
QEvent::Drop63Операция drag and drop завершена (QDropEvent).
QEvent::EnabledChange98Состояние доступности виджета было изменено.
QEvent::Enter10Указатель мыши входит в область виджета.
QEvent::EnterWhatsThisMode124Посылается виджетам верхнего уровня, когда приложение входит в режим "What's This?".
QEvent::FileOpen116Запрос на открытие файла (QFileOpenEvent).
QEvent::FocusIn8Виджет получил фокус ввода клавиатуры (QFocusEvent).
QEvent::FocusOut9Виджет потерял фокус ввода клавиатуры (QFocusEvent).
QEvent::FontChange97Шрифт виджета был изменен.
QEvent::Hide18Виджет был скрыт (QHideEvent).
QEvent::HideToParent27Дочерний виджет был скрыт.
QEvent::HoverEnter127Указатель мыши входит в область перемещения виджета (QHoverEvent).
QEvent::HoverLeave128Указатель мыши покидает область перемещения виджета (QHoverEvent).
QEvent::HoverMove129Указатель мыши перемещается внутри области перемещения виджета (QHoverEvent).
QEvent::IconDrag96Главная пиктграмма окна была далеко перемещена (QIconDragEvent).
QEvent::IconTextChange101Был изменен текст виджета.
QEvent::InputMethod83Используется метод ввода (QInputMethodEvent).
QEvent::KeyPress6Нажатие клавиши клавиатуры (QKeyEvent).
QEvent::KeyRelease7Отпускание клавиши клавиатуры (QKeyEvent).
QEvent::LanguageChange89Изменяется перевод приложения.
QEvent::LayoutDirectionChange90Изменяется направление компоновки.
QEvent::LayoutRequest76Компоновка виджета должна быть переделана.
QEvent::Leave11Указатель мыши покидает область виджета.
QEvent::LeaveWhatsThisMode125Посылается виджетам верхнего уровня, когда приложение выходит из режима "What's This?".
QEvent::LocaleChange88Изменяется локализация системы.
QEvent::MenubarUpdated153Панель меню окна была обновлена.
QEvent::MetaCall43Асинхронное обращение к методу QMetaObject::invokeMethod().
QEvent::ModifiedChange102Состояние модифицированности виджета было изменено.
QEvent::MouseButtonDblClick4Повторное нажание кнопки мыши (QMouseEvent).
QEvent::MouseButtonPress2Нажатие кнопки мыши (QMouseEvent).
QEvent::MouseButtonRelease3Отпускание кнопки мыши (QMouseEvent).
QEvent::MouseMove5Перемещение мыши (QMouseEvent).
QEvent::MouseTrackingChange109Состояние отслеживания перемещений мыши было изменено.
QEvent::Move13Изменяется позиция виджета (QMoveEvent).
QEvent::Paint12Необходимо обновление экрана (QPaintEvent).
QEvent::PaletteChange39Изменяется палитра виджета.
QEvent::ParentAboutToChange131Родитель виджета собирается измениться.
QEvent::ParentChange21Родитель виджета изменился.
QEvent::Polish75Виджет настраивается.
QEvent::PolishRequest74Виджет настроен.
QEvent::QueryWhatsThis123Виджет должен принять данное сообщение, если от имеет подсказку "What's This?".
QEvent::Resize14Размер виджета изменяется (QResizeEvent).
QEvent::Shortcut117В дочернем виджете нажаты клавиши, соответствующие горячему сочетанию клавиш (QShortcutEvent).
QEvent::ShortcutOverride51В дочернем виджете нажаты клавиши, не соответствующие горячему сочетанию клавиш (QKeyEvent).
QEvent::Show17Виджет был отображен на экране (QShowEvent).
QEvent::ShowToParent26Дочерний виджет был отображен.
QEvent::SockAct50Сокет активизирован, используется для работы QSocketNotifier.
QEvent::StatusTip112Требуется описание состояния (QStatusTipEvent).
QEvent::StyleChange100Стиль виджета был изменен.
QEvent::TabletMove87Перемещение на планшете (QTabletEvent).
QEvent::TabletPress92Нажатие на планшете (QTabletEvent).
QEvent::TabletRelease93Отпускание на планшете (QTabletEvent).
QEvent::Timer1Регулярное событие таймера (QTimerEvent).
QEvent::ToolBarChange120Кнопка панели инстументов нажата (в Mac OS X).
QEvent::ToolTip110Запрос описания инструмента (QHelpEvent).
QEvent::UpdateLater78Виджет должен быть перерисован позже.
QEvent::UpdateRequest77Виджет был перерисован.
QEvent::WhatsThis111Виджет должен отобразить подсказку "What's This?" (QHelpEvent).
QEvent::WhatsThisClicked118Произведен щелчок мышью по ссылке в подсказке "What's This?" виджета.
QEvent::Wheel31Прокручено колесико мыши (QWheelEvent).
QEvent::WinEventAct132Произошел специфический для Windows случай активизации.
QEvent::WindowActivate24Окно активизировано.
QEvent::WindowBlocked103Окно заблокировано модальным диалогом.
QEvent::WindowDeactivate25Окно было деактивизировано.
QEvent::WindowIconChange34Была изменена пиктограмма окна.
QEvent::WindowStateChange105Состояние окна (свернуто, развернуто или полный экран) было изменено (QWindowStateChangeEvent).
QEvent::WindowTitleChange33Заголовок окна был изменен.
QEvent::WindowUnblocked104Окно разблокировано после закрытия модального диалога.
QEvent::ZOrderChange126z-индекс виджета был изменен. Данное сообщение никогда не посылается окнам верхнего уровня.

Пользовательские типы сообщений могут принимать значения между User и MaxUser:

КонстантаЗначениеОписание
QEvent::User1000Определенный пользователем тип сообщений.
QEvent::MaxUser65535Последний ID определенных пользователем типов сообщений.

Описание Свойств

accepted : bool

Флаг принятия объекта сообщения.

Установка флага принятия означает, что получатель хочет принять данное сообщение. Нежелательное сообщение может быть передано родительскому виджету. По умолчанию isAccepted() установлено в true, но не стоит полагаться на это, так как подклассы могут захотеть сбросить этот флаг в конструкторе.

Для удобства, флаг принятия может быть также установлен с помощью accept(), и очищен с помощью ignore().

Функции доступа:


Описание Функций-Членов

QEvent::QEvent ( Type type )

Создает объект сообщения с типом type.

QEvent::~QEvent ()   [virtual]

Разрушает сообщение. Если оно было послано, то оно будет удалено из списка сообщений, которые должны быть посланы.

void QEvent::accept ()

Устанавливает флаг принятия объекта сообщения, эквивалентно setAccepted(true).

Установка флага принятия указывает на то, что получатель хочет получить данное сообщение. Нежелательное сообщение может быть передано родительскому виджету.

См. также ignore().

void QEvent::ignore ()

Сбрасывает флаг принятия объекта сообщения, эквивалентно calling setAccepted(false).

Сброс флага принятия указывает, что получатель не желает получить данное сообщение. Нежелательное сообщение может быть передано родительскому виджету.

См. также accept().

bool QEvent::spontaneous () const

Возвращает true если сообщение пришло извне приложения (системное сообщение); в противном случае возвращает false.

Для сообщений о рисовании значение данной функции не определено.

Type QEvent::type () const

Возвращает тип сообщения.


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz