Qt 自定義事件詳細例項

2021-06-19 01:15:23 字數 1362 閱讀 1824

建立使用者事件

建立乙個自定義型別的事件,首先需要有乙個事件號,其值通常大於qevent::user。

為了傳遞事件資訊,因此必須編寫自定義的事件類,該事件類從qevent繼承。

編寫使用者事件:

編寫使用者事件類的方法是首先定義乙個事件號。

然後實現使用者事件類,應用程式將把使用者事件類於qt的事件類同等處理。

//使用者事件類qoricodeevent標頭檔案qoricodeevent.h 

#include

#define ori_dis_event qevent::user+12

class qoricodeevent : public qevent  ;

//使用者事件類qoricodeevent實現檔案qoricodeevent.cpp

#include "qoricodeevent.h"

qoricodeevent::qoricodeevent()

: qevent( type(ori_dis_event) )

事件傳送

傳送使用者事件:

//傳送原始碼執行緒qorithread標頭檔案qorithread.h

#include

class qorithread : public qthread;

orithread::orithread()

orithread::~orithread()

事件處理

處理使用者事件:

如果想處理多個qt事件處理函式,可以通過過載qobject::event()來實現。

但這個我們是要處理的是自定義使用者事件,這個要過載的是qobject::customevent()。

//上面的textview就是qoritextview類的物件。標頭檔案qoritextview.h 

#include "qoricodeevent.h"

#include

class qoritextview : public qtextedit  ;

//qoritextview類實現部分qoritextview.cpp

#include "qoritextview.h"

qoritextview::qoritextview(qwidget* parent)

:qtextedit(parent)

void qoritextview::clearbuf()

**:

自定義事件詳細例項

using system using system.collections.generic using system.text 定義事件資料類,從eventargs基類繼承 public class eateventargs eventargs 定義委託型別 public delegate void...

Qt 自定義事件

最近做的專案,是用qt的完成的,在用到事件派發的時候,要用自己自定義的事件型別來滿足需要。具體就是按照qt的官方文件說明,做了乙個簡單的例子,以免忘記,就先寫下來儲存。首先有個customevent 類,繼承自qevent ifndef customevent h define customeven...

Qt 自定義事件

關於qt的自定義事件也是看了幾個大牛的部落格。總結下心得,如有錯誤請指出。一起成長。先給原始碼。也是第一次原創啊,不知道怎麼寫,呵呵。include include class mywidget public qwidget static const int mycustomeventtype 10...