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