日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QSS(Qt样式表)概念

發布時間:2023/12/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 { color:red//等價于Color:red COlor:rad 例如color,background等不區分大小寫 }QPushButton,QLabel,QLineEdit//多個選擇器用,隔開 { color:red;//多個的話用;隔開 background-color:white }

二:選擇器的類型?

選擇器示例說明
通用選擇器*匹配所有部件
類型選擇器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該項目已禁用
:editableQComboBox可編輯
:edit-focus具有編輯焦點
:focus輸入焦點
:hover鼠標懸停在項目上
:read-only只讀
:pressed鼠標按下
  • 偽狀態:在放在選擇器之后用:隔開
  • 偽狀態可以使用? !來表示否定
  • 可以使用多個偽狀態(與的效果)? ?:hover:pressed()
  • 用,連接可以達到(或的效果)
  • 偽狀態可以和子控件一起使用
QPushButton:hover//鼠標懸停 { color:red } QPushButton:!hover//鼠標不懸停 { color:red } QPushButton:hover:preassed//鼠標懸停且鼠標點擊 { color:red } QPushButton:hover,QPushButton:pressed//鼠標懸停或鼠標點擊 { color:red } QComboBox::drop-down:pressed//子控件和鼠標懸停 { color:red }

五:沖突的解決

解決方法為:

  • 特殊的選擇器優先
  • 有偽裝比沒偽裝優先
  • 特殊性相同,后出現的優先
  • 當父類和本身都有樣式表并有沖突時,優先使用本身的樣式表

?六:繼承關系

使用樣式表時,部件并不會自動從父部件繼承字體和顏色設置

想要繼承到子部件需要這樣設置樣式表。

假設 QPushButton是QGroupBox的一個子部件//這樣的話顏色會設置到所有子部件 //注意*前面有一個空格 QGroupBox,QGroupBox * { color:red; }

?七:設置QObject屬性

在Qt4.3之后,任何可設計的Q_PROPERTY都可以使用"qproperty-屬性名稱”語法來設計樣式表。

QPushButton{qproperty-pixmap:url(.....)} Qlabel{qproperty-iconSize:20px 20px;}

總結

以上是生活随笔為你收集整理的QSS(Qt样式表)概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。