Qt-QEvent類


QEvent是一個所有事件的基類,每一個對象都會包含一個事件參數

詳細描述

Qt的主要事件循環(QCoreAppliaction::exec())從事件循環列表中獲取本地的窗口事件,將這些事件轉換成QEvents然後將QEvent發送QObjects
通常來講,事件從當前的窗口系統中產生(spontaneous()函數返回true),但是也可以人爲的去觸發事件,可以使用QcoreApplication::sendEvent()函數和QCoreApplication::postEvent()(spontaneous()返回false)
QObject使用他們的QObject()函數來實現對事件的接收,這個函數可以被它的子類來重寫,可以定製事件句柄和增加事件類型,Qwidget::event()函數是一個顯著的例子,默認情況下,像QObject::timerEvent()函數和QWidgetMoveEvent()函數可以發射事件句柄。QObject::installEventFilter()函數允許一個對象來攔截另一個對象的事件註定
QEvent基類僅僅包含一個事件類型參數和一個“accept”標誌位,這個標誌位可以使用函數accept()來設置,還可以使用ignore()函數來清除,默認情況下會設置,但是不要依賴它作爲子類並在子類的構造函數中來清除它。
QEvent的子類包含額外的用來描述這個特定的事件的附加參數

通用文檔

accepted:bool

這個事件對象的接受標誌位
設置這個accept參數指定了這個事件接受者需要這個參數,不需要的事件可能會傳播給父類部件,默認情況下,isAccpted()函數返回true,但是不要依賴它作爲子類可以在構造函數中選擇來清除它

成員函數描述

QEvent::QEvent(QEvent::Type type)

使用QEvent的枚舉常量來構造一個QEvent對象

QEvent::~QEvent()

析構函數,如果這個事件已經被傳播了,將會從事件傳播隊列中被清除

void QEvent::accept()

設置這個事件對象的標誌位,等價於調用setAccpeted(true)函數
設置這個參數表明事件的接收者希望得到這個事件,不需要的事件可能被父窗體所傳播

void QEvent::ignore()

清空這個事件循環對象所接受的標誌位參數,等價於調用setAccepted(false)函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章