Qt 實現 異形 窗體 按鈕

2021-10-23 14:27:02 字數 955 閱讀 6583

設定frameless,使用透明影象作為影象掩碼,後面再處理下事件。效果如下:

//關鍵部分**如下

//設定異形窗體

//setwindowopacity(0.5);//設定窗體透明度 0完全透明,1完全不透明

this

->

setwindowflag

(qt::framelesswindowhint)

;//無邊框,隱藏標題欄,但工具欄,狀態列還在

ui->centralwidget-

>

setstylesheet

(qstring

("#centralwidget"))

;this

->

setattribute

(qt::wa_translucentbackground)

;this

->

resize

(qpixmap

(":/image/image/mask1.png").

size()

);//顯示視窗跟影象大小一致

//異形按鈕

qpixmap btnimg;

btnimg.

load

(":/image/image/up.png");

ui->btn_up-

>

resize

(btnimg.

size()

);ui->btn_up-

>

setmask

(btnimg.

mask()

);ui->btn_up-

>

setstylesheet

("background: transparent;background-image: url(:/image/image/up.png);"

);

Qt 實現 異形 窗體 按鈕

關鍵部分 如下 設定異形窗體 setwindowopacity 0.5 設定窗體透明度 0完全透明,1完全不透明 this setwindowflag qt framelesswindowhint 無邊框,隱藏標題欄,但工具欄,狀態列還在 ui centralwidget setstylesheet...

C WinForm中實現異形窗體 控制項

製作異形窗體或控制項的思路一般都是想辦法生成乙個 region 然後設定給指定的視窗或控制項。生成 region 的方法有很多,最常用的就是從一幅生成,把該中的透明色部分 摳 掉,剩下的部分作為乙個 region 設定視窗或控制項的 region 可以用setwindowrgn api 不過.net...

C WinForm中實現異形窗體 控制項

主頁 www.farproc.com blog blog.csdn.net uoyevoli 製作異形窗體或控制項的思路一般都是想辦法生成乙個 region 然後設定給指定的視窗或控制項。生成 region 的方法有很多,最常用的就是從一幅生成,把該中的透明色部分 摳 掉,剩下的部分作為乙個 reg...