QT 使用QSS實現圓角對話方塊

2021-06-28 19:12:13 字數 1045 閱讀 7466

圓角對話方塊有很多辦法,一般是用**重繪的方式,比較複雜,這乙個高仿360的介面給的**,比較複雜,放入我的qdialog的視窗總是不生效:

mainwindow::mainwindow(qwidget *parent) :

qmainwindow(parent),

ui(new ui::mainwindow)

實際發現,可以簡單的通過qt的 stylesheet 來實現這一功能,相當簡單好用。

思路是把qdialog 背景透明,然後在qdialog再放上乙個圓角的qframe 即可實現圓角效果!

onepicker::onepicker(qwidget *parent) :

roundcornerpicker(parent),

ui(new ui::onepicker)

其中對話方塊的樣式是

border: none; background-color: transparent;

用來作直正的背景的frame樣式

border-image: url(:/resource/images/picker_bk.png);

border-width: 1px 1px 1px 1px;

border-style: solid;

border-color: rgb(76,76,76);

border-radius:6px;

可以把上述定義放入全域性的qss樣式表中,這樣所有對話方塊自動變成圓角矩表

qdialog

qdialog

#dialogbk

最終效果如下

為什麼使用qframe的原因是強制把qdialog做成圓角背景,仍然會顯示四周的直角邊框,這樣極不美觀。

Qt 對話方塊

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

Qt 對話方塊

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

qt 對話方塊

對話方塊分為模態和非模態 1 模態對話方塊就是在其沒有被關閉之前,使用者不能與同乙個應用程式的其他視窗進行互動,直到該對話方塊關閉。this setmodal true 2 非模態對話方塊,當被開啟時,使用者既可選擇和該對話方塊進行互動,也可以選擇同應用程式的其他窗 互。this setmodal ...