QT筆記之不規則視窗的實現

2022-05-04 18:30:09 字數 938 閱讀 4287

qt實現的不規則視窗,是根據的形狀顯示

1.去標題欄

2.設定視窗背景為透明色

3.最後給視窗設定背景色

注:背景圖為鏤空的 格式為.png

.h

1

#ifndef qanormalydlg_h

2#define qanormalydlg_h

34 #include 5 #include "

ui_qanormalydlg.h"6

7class qanormalydlg : public

qwidget8;

2526

#endif

//qanormalydlg_h

.cpp

1 #include "

qanormalydlg.h

"2 #include 3 #include 4

5 qanormalydlg::qanormalydlg(qwidget *parent)

6: qwidget(parent)718

19 qanormalydlg::~qanormalydlg()

2023

24void qanormalydlg::paintevent(qpaintevent *e)

2529

30void qanormalydlg::mousepressevent(qmouseevent *e)

3137

38else

if (e->button() ==qt::leftbutton)

3945}46

47void qanormalydlg::mousemoveevent(qmouseevent *e)

4853 }

效果:

33黑馬QT筆記之不規則視窗

1 建立不規則視窗的步驟 1 重寫繪圖事件,在繪圖事件中顯示一張。2 但是顯示後仍帶有視窗的邊框,所以我們需要在視窗的建構函式中去掉邊框,並使其類似一樣,使視窗也透明顯示。3 由於邊框沒了,即右上角的按鈕無了,滑鼠無法操作,所以需要重寫滑鼠事件,包括滑鼠按下和移動事件。4 滑鼠按下時 若為右鍵,我們...

QT中不規則視窗的實現

描述 mask.png 視窗掩碼圖 描述 toolbutton.png 按鈕背景圖 描述 toolbutton mask.png 按鈕掩碼圖 描述 runtime.png 示例執行時圖 qt 中不規則窗體和部件的實現,不管是窗體還是部件,都是從qwidget派生而來的,所以它們的原理是一樣的,都是設...

QT實現不規則窗體

看到網上有很多不規則窗體的實現,效果很酷.於是使用qt也實現了乙個,qt的不規則窗體實現非常簡單,只需要設定乙個mask 遮掩 這個的格式可以使用png或bmp格式,我使用了png格式,預設窗體是矩形的,使用png影象,將需要隔離在窗體之外的區域的畫素設定為白色或透明色,其他顏色的區域對應顯示出來的...