Qt使用qss文件管理stylesheet
內容總結簡介:
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{ color:red;} QPushButton{ color:green;}
3)單獨設置的那個控件需要在mainwindow.qss文件中加上所在類的名字作為標識,并在使用指定num1組件時,額外添加代碼num1->setObjectName(“num1”)
(2)解決一個控件多個子控制或者偽狀態的設置問題
1)不妨假設設置num1的QPushButton在checked狀態下為紅色,在unchecked狀態下設置成綠色:
QPush:indicator:checked{color:red;} QPushButton:indicator:unchecked{color:green}
總結:在stylesheet設置文件中,相同組件的設置會被同時選中,但是如果多個組件設置中存在相同的屬性設置,則最符合要求的那個屬性會把其他相同的屬性覆蓋掉,但是其他屬性會保留下來。
總結
以上是生活随笔為你收集整理的Qt使用qss文件管理stylesheet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输卵管检查有无痛的吗
- 下一篇: 成都大熊猫繁育研究基地观光车是全程的那