設定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...