Qt自定義標籤按鈕

2021-08-05 19:21:52 字數 1078 閱讀 6867

當你接觸到qt時,你會為它極為方便的跨平台方面感到吃驚,從而想嘗試著使用qt。漸漸地你會發現qt自帶的一些控制項不能滿足自己的需要,此時就需要我們自己定義乙個屬於自己的控制項。總所周知,標籤的風格設定模擬較多,但預設的標籤沒有滑鼠響應事件。

在你的qt工程中

新增新檔案:c++ class,輸入類名:clickedlabel ,基類:qlabel。qt會自動生成clickedlabel.h和clickedlabel.cpp檔案。

在clickedlabel.h中

1 #ifndef clickedlabel_h

2 #define clickedlabel_h

3 4 #include 5 //夜瀟:17/06/04

6 class clickedlabel : public qlabel

7 ;18 19 #endif // clickedlabel_h

之後在clickedlabel.cpp中的建構函式中設定預設風格(注:可以不寫),給mylabelpressed 附乙個初值0;

1 #include "clickedlabel.h"

2 3 clickedlabel::clickedlabel(qwidget* parent) : qlabel(parent)

4 ");

9 mylabelpressed = 0;

10 }

11 12 void clickedlabel::mousepressevent ( qmouseevent * e )

13 16

17 void clickedlabel::mousereleaseevent ( qmouseevent * e )

18 24 }

然後在你的qt工程中

新增頭函式:#include "clickedlabel.h"

新增私有函式(private)或者公共函式(public):clickedlabel *btn1;

之後再工程檔案的cpp檔案中實現函式就好了。

(本文只出現在aili_xiao的部落格中,目前在和cdsn中)

Qt自定義標籤按鈕

當你接觸到qt時,你會為它極為方便的跨平台方面感到吃驚,從而想嘗試著使用qt。漸漸地你會發現qt自帶的一些控制項不能滿足自己的需要,此時就需要我們自己定義乙個屬於自己的控制項。總所周知,標籤的風格設定模擬較多,但預設的標籤沒有滑鼠響應事件。在你的qt工程中 新增新檔案 c class,輸入類名 cl...

Qt 自定義按鈕

自定義控制項的實現思路如下 a1.新建乙個類,該類繼承qpushbutton,由於qpushbutton繼承於qwidget,因此可以直接在該繼承類裡面進行布局管理和掛載控制項 a2.新建兩個qlabel例項,即buttonimage和buttontxt 是qlable例項 分別用兩個垂直布局管理器...

Qt 控制項 自定義按鈕

mybutton.h ifndef mybutton h define mybutton h include include include include class mybutton public qwidget endif mybutton h mybutton.cpp include myb...