Qt中給透明對話方塊新增border image樣式

2021-06-20 11:59:36 字數 731 閱讀 3912

qdialog是可設定border-image樣式的,但假如對話方塊設定了qt::wa_translucentbackground屬性,

再show出來則發現,背景空空如也,完全被穿透,只有子控制項懸在上面。這是因為,開啟qt::wa_translucentbackground屬性還會導致qt::wa_nosystembackground的開啟,而它被開啟後,繪製事件則不再繪製border-image中設定的了。

解決的辦法為:

setattribute(qt::wa_translucentbackground); 之後再新增 setattribute(qt::wa_nosystembackground, false);

qdialog的樣式表中新增 background-color: transparent;

比如下面這段**,我給乙個無邊框的對話方塊加上了毛邊,那層細線就是。

全域性對話方塊透明對話方塊自定義對話方塊

為什麼會寫這玩意呢,對,是因為無聊,不過全域性對話方塊在專案中還是經常用到的,主要是記得新增許可權就好了,可能對剛入門的學弟學妹們可能有幫助 許可權 簡單的 快 public static void dialog context context,string dstr window window d...

Qt 對話方塊

1.qt 中使用qdialog 類實現對話方塊。就像主視窗一樣,我們通常會設計乙個類繼承 qdialog qdialog 及其子類,以及所有 qt dialog 型別的類 的對於其 parent 指標都有額外的解釋 如果 parent 為null 則該對話方塊會作為乙個頂層視窗,否則則作為其父元件的...

Qt 對話方塊

1.qdialog 類是對話方塊視窗的基類。對話方塊視窗是乙個頂級視窗,通常用作短期任務,或 者是與使用者的簡短會話等場合。2.對話方塊可以分為模態對話方塊和非模態對話方塊。所謂模態對話方塊就是在其沒有被關閉之前,使用者不能與同乙個應用程式的其他視窗進行互動,直到該對話方塊關閉。奪取焦點 對於非模態...