Qt 窗口置頂且半透明且爲圓角矩形 Qt內核規則

        當窗口爲頂層窗口時候,設置stylesheet爲圓角矩形和半透明功能,
        Qt是沒有效果的,設置背景透明和無邊框也是沒有用的,這個是Qt
        固定的規則,按照Qt固定的規則實行就好了,如果需要實行頂層窗口
        的半透明和圓角矩形的功能,由於Qt這條固定規則的限制,只能另外找其他
        方式實現了,具體實現辦法有:
        1.使用不規則半透明的圖片,但是有個侷限性,如果窗口支持拉昇改變大小,容易失真
        2.使用paintEvent繪製出來,是可以實現的,有一定的可行性
        3.使用2層窗口做出來,第一層窗口爲頂層窗口,背景透明,無邊框,第二層窗口爲實際上的
        窗口設置爲背景透明,無邊框就沒有問題了,這樣看上去就是第二層窗口是頂層窗口卻達到了
        圓角矩形和背景半透明的效果。
        
        注意,在設置窗口半透明的時候,如果窗口是置頂窗口,而且使用的方式是通過paintEvent做出來的,
        需要設置窗口爲無邊框,看似設置半透明和設置無邊框是沒有關聯的,
        但是Qt內核實現機制就是有這樣一種固定規則,
        需要將頂層窗口設置爲半透明就需要設置爲無邊框,這樣的固定規則。按照Qt固定的規則實行就好了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章