圓角對話方塊有很多辦法,一般是用**重繪的方式,比較複雜,這乙個高仿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);可以把上述定義放入全域性的qss樣式表中,這樣所有對話方塊自動變成圓角矩表border-width: 1px 1px 1px 1px;
border-style: solid;
border-color: rgb(76,76,76);
border-radius:6px;
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 ...