QT主窗體半透明實現


QT主窗體透明實現:

1)添加setWindowFlags(windowFlags() | Qt::FramelessWindowHint);

2)添加setAttribute(Qt::WA_TranslucentBackground, true);

3)重寫paintEvent事件

備注:

三者缺一不可

1)當沒有設置Qt::WA_TranslucentBackground屬性為true時,會發現沒有半透明透明效果。

2)當窗體屬性沒有設置無邊框屬性,也就是Qt::FramelessWindowHint時,會發現沒有半透明透明效果。

3)當窗體屬性沒有設置無邊框屬性,且沒有重寫paintEvnet事件,會發現窗體變成黑色,哪怕是設置css樣式也是一樣。

 

當完成主窗體的半透明實現完,子控件的不透明和半透明,只需設置parent,剩余可以通過css樣式來控制。但是窗體的拖拉和邊框放大縮小需要自己取實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM