Day05(Qt樣式表)

Qt樣式表示是一個可以自定義部件外觀的十分強大的機制

使用代碼設(shè)置樣式表
ui->pushButton->setStyleSheet("background:yellow"); ui->horizontalSlider->setStyleSheet("background:blue");
對所有的相同部件使用相同的樣式表
setStyleSheet("QPushButton{background:yellow}QSlider{background:blue}");
在設(shè)計模式中設(shè)置樣式表
界面右擊,在彈出的菜單樣式中選擇“改變樣式表”。在編輯樣式對話框輸入代碼:
QPushButton{},然后單擊上面“添加顏色”。如果為單一部件添加樣式表,需選中該部件后右擊“改變樣式表”。

Qt樣式表語法

樣式規(guī)則

一個樣式規(guī)則由一個選擇符和聲明組成

QPushButton{color:red}QPushButton是選擇符,{color:red}是聲明,color是屬性,red是值。
一些選擇符可以指定相同的聲明,例如:
QPushButton,QLineEdit,QComBox{color:red}
屬性之間使用分號隔開,例如:
QPushButton{color:red;background-color:white}

在Qt Style Sheets Reference 關(guān)鍵字對應(yīng)對文檔中,List of Properties一項查看Qt樣式表所支持的屬性

選擇符類型
* 匹配所有部件
QPushButton 匹配QPushButton實例和他的所有子類
QPushButton[flat = "false"] 匹配QPushButton的屬性flat為false的實例
.QPushButton 匹配所有QPushButton實例,但不包含他的子類
QPushButton#okButton 匹配QPushButton中以okButton為對象名的實例

自定義部件外觀與換膚

    QMainWindow{
        background - image: url(:/image/beijing01.png);//背景圖片
    }
    /*鼠標(biāo)懸停在按鈕上*/
    QPushButton:hover{
        background-color:rgba(100,255,100,100);        
    }

換膚
QFile file(":/qss/my.qss");
file.open(QFile::ReadOnly);
QString styleSheet = tr(file.readAll());
qApp->setStyleSheet(styleSheet);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • QT樣式表單 QT的樣式表單允許我們在對程序不做任何代碼上的更改的情況下輕松改變應(yīng)用程序的外觀。 其思想來源于網(wǎng)頁...
    勿丶忘初心閱讀 7,564評論 0 6
  • 1.塊級元素和行內(nèi)元素 塊級(block-level)元素;行內(nèi)(內(nèi)聯(lián)、inline-level)元素。 塊元素的...
    饑人谷_小侯閱讀 2,049評論 1 4
  • CSS基礎(chǔ) 本文包括CSS基礎(chǔ)知識選擇器(重要!!!)繼承、特殊性、層疊、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,191評論 0 40
  • CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器...
    百作不死的學(xué)習(xí)閱讀 1,228評論 0 7
  • 標(biāo)準(zhǔn)輪播組件(PC,IPAD通用) 引言:針對以往每一個頁面都有一個輪播組件,而且交互細節(jié)都不相同的情況,配合需求...
    晴天的微風(fēng)閱讀 365評論 0 1