在家休息,試著用qt去模仿各類管家軟體的介面,做到自繪陰影的時候,蛋疼了。
網上搜到的基本都是一篇文章轉來轉去,一開始也被思路限制了。
嘗試過載paintevent,然後自己繪製矩形陰影,但是繪製的演算法始終覺得有問題,最後發現 qgraphicsdropshadoweffect 這個乙個好東西,雖說網上有提到,但是基本都是用它來繪製子控制項陰影,所以我好奇,為什麼不直接放個qframe在視窗中間,四邊留出陰影位置,主視窗背景設定為透明,qfram設定陰影效果不就ok了?
說幹就幹,**摘要如下:
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
frame控制項裡設定樣式表
qframe
介面編輯狀態
與tx管家對比
總體來說效果還算不錯吧(主要是用著省事)有更好的方式歡迎討論
QT中不規則視窗的實現
描述 mask.png 視窗掩碼圖 描述 toolbutton.png 按鈕背景圖 描述 toolbutton mask.png 按鈕掩碼圖 描述 runtime.png 示例執行時圖 qt 中不規則窗體和部件的實現,不管是窗體還是部件,都是從qwidget派生而來的,所以它們的原理是一樣的,都是設...
Qt繪製形狀不規則視窗(二)
環境配置 mingw qt 5.12 效果圖 紅色部分是桌面背景顏色 下面這張有助於分析 視窗邊角弧度border radius沒有註明 testarrowwidget類繼承自qwidget define shadow width 10 視窗陰影寬度 define width 15 小三角的寬度 d...
MFC不規則視窗
直接在onpaint 函式裡新增語句 setwindowlong m hwnd,gwl exstyle,getwindowlong m hwnd,gwl exstyle ws ex layered setlayeredwindowattributes rgb 255,255,255 0,lwa co...