Qt使用qss檔案管理stylesheet

2021-10-01 12:18:32 字數 1306 閱讀 6418

內容總結簡介:

1)使用.qss字尾的檔案來管理qt中每個類的具體元件的stylesheet設定。

2)在類中使用具體.qss檔案中的設定。

3)解決控制項中多個相同元件不同設定或者同乙個控制不同子控制或者偽狀態的問題。

1.新建字尾名為.qss的檔案管理stylesheet設定

1)右鍵單擊工程名字,add new ->qt->qt resource file,將檔案名字取為res.qrc。

2)右鍵單擊res.qrc,選擇add prex,設定名字為qss。

3)右鍵單擊qss,選擇add new->general->empty file,取名為對應類名字,如mainwindow.qss,則可以在這個檔案中寫mainwindow中使用的元件stylesheet設定。

4)期間所有的提示都選擇「yestoall"。

2.在具體的類中使用檔案中的stylesheet設定

1)使用mainwindow.qss初始化qfile檔案:qfile file(:/qss/mainwindow.qss)

2)以唯讀的方式開啟檔案:file.open(qfile:readonly)

3)將檔案的內容組合成字串:qstring stylesheetstring = tr(file.readall())

4)應用stylesheet:setstylesheet(stylesheetstring)

5)關閉檔案:file.close();

3.解決單個控制項中的多個設定問題或者乙個控制項加上多個子控制或者偽狀態的設定

(1)解決單個控制項中的多個設定問題

1)選擇id作為區分的標註,即在元件設定後面加上#要設定物件的名字

2)不妨假設在mainwindow中有多個qpushbutton,將其中的乙個名為num1的設定為紅色,其他全部設定為綠色,則有:mainwindow qpushbutton#num1 qpushbutton

3)單獨設定的那個控制項需要在mainwindow.qss檔案中加上所在類的名字作為標識,並在使用指定num1元件時,額外新增**num1->setobjectname(「num1」)

(2)解決乙個控制項多個子控制或者偽狀態的設定問題

1)不妨假設設定num1的qpushbutton在checked狀態下為紅色,在unchecked狀態下設定成綠色:

qpush:indicator:checked qpushbutton:indicator:unchecked

總結:在stylesheet設定檔案中,相同元件的設定會被同時選中,但是如果多個元件設定中存在相同的屬性設定,則最符合要求的那個屬性會把其他相同的屬性覆蓋掉,但是其他屬性會保留下來。

QT 呼叫QSS檔案

1 新建乙個工程,並在ui介面放置乙個按鈕 2 準備名稱為style.qss的qss檔案,放在main.cpp同資料夾路徑 qpushbutton 1.在 專案 右鍵 add new qt qt resource file choose 名稱 resources 2.在 resources.qrc ...

Qt中qss的使用

qt支援css樣式表,它是網頁中用來控制顯示的指令碼,功能豐富,可以很方便的實現各種顯示效果。如果想進一步了解其語法以及使用,可訪問www.w3school.com.cn。好在之前在寫 比較熟悉。給乙個控制項新增樣式表,只需呼叫其setstylesheet即可,傳入將樣式內容作為字串傳入。一般為了方...

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

圓角對話方塊有很多辦法,一般是用 重繪的方式,比較複雜,這乙個高仿360的介面給的 比較複雜,放入我的qdialog的視窗總是不生效 mainwindow mainwindow qwidget parent qmainwindow parent ui new ui mainwindow 實際發現,可...