QEvent類參考

QEvent類參考
QEvent類是所有事件類的基類。事件對象包含事件參數。
#include <QEvent>



詳細介紹

           QEvent類是所有事件類的基類。事件對象包含事件參數。
        Qt的主事件循環(QCoreApplication::exec())從事件隊列中獲取本地窗口系統事件,將它們封裝進QEvent中,並且將封裝好的事件發送給QObjects。
        一般情況下,事件來源於底層的窗口系統(spontaneous()返回true),但是通過使用QCoreApplication::sendEvent()
和 QCoreApplication::postEvent()人工發送事件也是可以的(spontaneous()返回false)。
       QObjects通過它們的QObject::event()方法被調用來接收事件。該方法可以在子類中被重寫以自定義事件處理器和額外的事件類型;QWidget::event()是一個需要注意的示例。默認情況下,事件都被分發給類似QObject::timerEvent()QWidget::mouseMoveEvent()的事件處理器。QObject::installEventFilter()允許一個對象攔截髮送給目標對象的事件。
        基本的QEvent僅僅包含一個事件類型參數和一個"accept"標誌。"accept"標誌可以通過accept()來設置,也可以通過
ignore()清除。默認情況下該標誌是被設置的,但是我們不能依賴於這一點,因爲有的子類可能會選擇在子類構造器中清除
該標誌。
        QEvent的子類包含額外的參數用以描述特定的事件。


成員類型文檔

枚舉類型QEvent::Type
  該枚舉類型定義了Qt中合法的事件類型。每個事件類型以及相應的特殊類都列在下表中:


   用戶事件的值必須在User和MaxUser之間:


        出於簡便考慮,你可以使用registerEventType()函數來爲你的應用程序註冊和保留一個自定義事件類型。這樣做可以使你避免在你的應用程序中偶然重複使用一個已在應用程序其它地方使用的自定義事件類型。


屬性文檔

accepted: bool
事件對象的接受標誌
設置該參數表明事件接收器期望獲得該事件。非預期的事件可能會傳遞給它的父對象。默認情況下isAccept()設置爲true,但是
不能依賴於此,因爲子類可能會在子類構造器中清除該標誌。
出於簡便考慮,accept標誌可以通過accept()設置,ignore()清除。
相關的函數:
bool isAccepted () const
void setAccepted ( bool accepted )



成員函數文檔

1、QEvent::QEvent ( Type type )
構造一個類型爲type的事件對象
2、QEvent::~QEvent () [virtual]
銷燬事件對象。如果該事件等待被髮送,那麼它將會被從需要發送的事件列表中移除。
3、void QEvent::accept ()
設置事件對象的"accept"標誌,等價於調用setAccepted(true)。
接收了該事件,不接受的事件可能會被傳遞給它的父窗口部件。
4、void QEvent::ignore ()
清除事件對象的接受標誌,等價於調用setAccepted(false)。
清除該標誌意味着事件接收器不接收該事件。不能接收的事件可能會被傳遞給它的父窗口部件。
5、int QEvent::registerEventType ( int hint = -1 ) [static]
註冊並返回一個自定義的事件類型。提供的hint參數如果可用則會被採用,否則該函數會返回一個介於QEvent::User和
QEvent::MaxUser 且還沒有被註冊的值。如果hint參數的值不在QEvent::User和QEvent::MaxUser 之間,那麼它會被忽略。
注意:該函數是線程安全的。
6、bool QEvent::spontaneous () const
如果事件源在應用程序之外(一個系統事件)則該函數返回true,否則返回false。
對於繪製事件該函數的返回值是未定義的。
7、Type QEvent::type () const
返回事件的類型。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章