Qt學習第5天 事件處理之前的攔截

2021-10-04 05:39:44 字數 536 閱讀 3069

記錄下qt學習的過程

2020-03-21 週六

在程式給把事件發到事件過濾器之前可以進行攔截

步驟1:給控制項安裝事件過濾器:

ui->label_2->installeventfilter(this);

此處的this是父類,因為是安裝在本視窗內,所以需要父類給他安裝。

步驟2 :重寫eventfilter函式:先在.**件進行呼叫,然後在對應視窗介面進行實現。

bool widget::eventfilter(qobject *obj, qevent *e)

return 父類 ::eventfilter(obj , e);

}eventfilter函式中有兩個變數,qobject 用來判斷哪個控制項;

qevent 用來判斷對該控制項進行的操作。

此處有乙個需要注意:第乙個返回值是true,代表可以直接執行之前**。

第二個return 是代表在此次呼叫中,除被設定的攔截之外,其餘的事件均交由 父類* 處理。

QT學習第2天

回顧 1.構建乙個qt工程步驟 1 qmake project 2 qmake 3 make 2.兩個常用的元件 qlabel 標籤 qpushbutton 按鈕 四 容器視窗 父視窗 1.父視窗可以停靠其他元件,如果乙個元件在建立時指定父視窗,那麼就將停靠在父視窗上,如果不指定則飄在外面形成獨立的...

5天學python python 學習第5天

字典增刪改查 dic1 dic1 asdas dfdsf 新增 預設最後乙個 print dic1 dic1 age 20 如果有建 則值覆蓋 print dic1 dic1.setdefault weight 有建值對 不做任何改變 沒有新增建值對 dic1.setdefault weight 1...

Qt事件處理的5個層次

1 重新實現特殊的事件處理器 重寫paintevent mousepressevent 等事件處理函式。這是最普通 最簡單也是最常用的形式。例如自定義eventlabel類,繼承於qlabel void eventlabel mousemoveevent qmouseevent event void...