QSS(Qt样式表)概念
生活随笔
收集整理的這篇文章主要介紹了
QSS(Qt样式表)概念
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Qt樣式表是一個(gè)可以自定義部件外觀的十分強(qiáng)大的機(jī)制,除了QStyle更改的樣式,其他的都可以由QSS修改。由于受到Html的CSS啟發(fā),所以叫QSS。
- 代碼添加樣式表
- ui界面上添加樣式表
代碼添加樣式表:
| setStyleSheet() | 添加樣式表 |
在ui界面中添加兩個(gè)控件:pushButton 和lineEdit?
?修改兩個(gè)部件的背景顏色:
ui->pushButton->setStyleSheet("background:blue");ui->lineEdit->setStyleSheet("background:yellow");?修改同一類控件的方法:
格式為:? ?控件類名 {? ?內(nèi)容 ? }
QPusgButton{background:blue} QLabel{background:yellow}ui界面中的使用:
右鍵點(diǎn)擊對(duì)象,點(diǎn)擊改變樣式表
?可以根據(jù)上面的選項(xiàng)添加內(nèi)容:
?Qt樣式表的語(yǔ)法:
一:樣式規(guī)則
每個(gè)樣式由選擇器和聲明組成
- 選擇器可以有多個(gè)用,隔開
- 樣式表可以不區(qū)分大小寫:? color? ?Color? COLOR 都可以使用,但類名、對(duì)象名和Qt屬性名區(qū)分大小寫
- 樣式中的屬性用;隔開
QPushButton {color:red}
- QPushButton為選擇器
- {color:red} 聲明
- color為屬性
- red為值
二:選擇器的類型?
| 選擇器 | 示例 | 說(shuō)明 |
| 通用選擇器 | * | 匹配所有部件 |
| 類型選擇器 | QPushButton | 匹配所有QPushButton實(shí)例和它的所有子類 |
| 屬性選擇器 | QPushButton[flat="false"] | 匹配QPushButton的屬性flat為false的實(shí)例 |
| 類選擇器 | .QPushButton | 匹配所有QPushButton實(shí)例,但不包含它的子類 |
| ID選擇器 | QPushButton#button | 匹配QPushButton中名為button的實(shí)例 |
| 后代選擇器 | QDialog QPushButton | 匹配所有QPushButton實(shí)例,但必須為QDialog的子孫部件 |
| 孩子選擇器 | QDialog >QPushButton | 匹配所有QPushButton實(shí)例,但必須為QDialog的直接子部件 |
三:子控件
QComboBox::drop-down{.....}
- drop-down 代表上下箭頭
- 使用::來(lái)連接子控件
| 在幫助文檔中搜索? Qt Style Sheets Reference? 搜索更多子控件 |
四:偽狀態(tài)
常用的偽狀態(tài):
| :checked | 該項(xiàng)目已選中 |
| :unchecked | 該項(xiàng)目未選中 |
| :disabled | 該項(xiàng)目已禁用 |
| :editable | QComboBox可編輯 |
| :edit-focus | 具有編輯焦點(diǎn) |
| :focus | 輸入焦點(diǎn) |
| :hover | 鼠標(biāo)懸停在項(xiàng)目上 |
| :read-only | 只讀 |
| :pressed | 鼠標(biāo)按下 |
- 偽狀態(tài):在放在選擇器之后用:隔開
- 偽狀態(tài)可以使用? !來(lái)表示否定
- 可以使用多個(gè)偽狀態(tài)(與的效果)? ?:hover:pressed()
- 用,連接可以達(dá)到(或的效果)
- 偽狀態(tài)可以和子控件一起使用
五:沖突的解決
解決方法為:
- 特殊的選擇器優(yōu)先
- 有偽裝比沒偽裝優(yōu)先
- 特殊性相同,后出現(xiàn)的優(yōu)先
- 當(dāng)父類和本身都有樣式表并有沖突時(shí),優(yōu)先使用本身的樣式表
?六:繼承關(guān)系
使用樣式表時(shí),部件并不會(huì)自動(dòng)從父部件繼承字體和顏色設(shè)置
想要繼承到子部件需要這樣設(shè)置樣式表。
假設(shè) QPushButton是QGroupBox的一個(gè)子部件//這樣的話顏色會(huì)設(shè)置到所有子部件 //注意*前面有一個(gè)空格 QGroupBox,QGroupBox * { color:red; }?七:設(shè)置QObject屬性
在Qt4.3之后,任何可設(shè)計(jì)的Q_PROPERTY都可以使用"qproperty-屬性名稱”語(yǔ)法來(lái)設(shè)計(jì)樣式表。
QPushButton{qproperty-pixmap:url(.....)} Qlabel{qproperty-iconSize:20px 20px;}總結(jié)
以上是生活随笔為你收集整理的QSS(Qt样式表)概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 内码输入法手机版下载_win7 64位内
- 下一篇: 金蝶K3WISE15.1开启WEBAPI