欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt的Qss用法小結(jié)

 更新時(shí)間:2023年06月06日 10:00:04   作者:IT觀察者  
Qt的Qss是一種用于定義用戶界面的樣式表語(yǔ)言,本文主要介紹了Qt的Qss用法小結(jié),非常具有實(shí)用價(jià)值,需要的朋友可以參考下

Qt 的 Qss 是一種用于定義用戶界面的樣式表語(yǔ)言。它可以用來(lái)定義控件的顏色、字體、邊框、背景等樣式,可以很方便的實(shí)現(xiàn)自定義的樣式效果。

Qss 的基本語(yǔ)法和 CSS 類(lèi)似,主要是由選擇器和樣式屬性構(gòu)成。

選擇器

選擇器用來(lái)指定要樣式化的控件,選擇器可以使用控件的名稱(chēng)、類(lèi)型、ID、類(lèi)、父子關(guān)系等來(lái)進(jìn)行定位。常見(jiàn)的選擇器有:

  • 類(lèi)型選擇器: QPushButton
  • 類(lèi)選擇器: .mybutton
  • ID 選擇器: #mybutton
  • 屬性選擇器: QWidget[enabled="false"]
  • 父子選擇器: QListWidget > QListWidgetItem

樣式屬性

在 Qt 的 Qss 中,樣式屬性可以分為兩類(lèi):控件屬性和子控件屬性,其中控件屬性用于設(shè)置控件自身的樣式,子控件屬性用于設(shè)置控件的子控件的樣式。

常用的控件屬性和樣式如下:

樣式屬性描述
background控件背景色
border控件邊框
color控件文本顏色
font-size控件字體大小
font-family控件字體
padding內(nèi)邊距
margin外邊距
text-align控件文本對(duì)齊方式
text-indent控件文本縮進(jìn)
opacity控件透明度

常用的子控件屬性和樣式如下:

樣式屬性描述
QScrollBar:vertical豎向滾動(dòng)條
QScrollBar:horizontal橫向滾動(dòng)條
QScrollBar::handle滾動(dòng)條滑塊
QScrollBar::add-page滾動(dòng)條向后翻頁(yè)按鈕
QScrollBar::sub-page滾動(dòng)條向前翻頁(yè)按鈕
QScrollBar::add-line滾動(dòng)條向后滾動(dòng)按鈕(小箭頭)
QScrollBar::sub-line滾動(dòng)條向前滾動(dòng)按鈕(小箭頭)
QComboBox QAbstractItemView下拉框的列表視圖
QComboBox QAbstractItemView::item下拉框的列表項(xiàng)

示例

下面是一個(gè)簡(jiǎn)單的 Qss 樣式示例:

QPushButton {
? background: #00bfff;
? color: #fff;
? border: 2px solid #fff;
? font-size: 24px;
? padding: 4px 8px;
? margin: 4px;
}
QLineEdit {
? background: #fff;
? color: #000;
? border: 2px solid #00bfff;
? padding: 4px 8px;
? margin: 4px;
}
QComboBox QAbstractItemView {
? background: #fff;
? color: #000;
? border: 2px solid #00bfff;
? padding: 4px 8px;
? margin: 4px;
}
QComboBox QAbstractItemView::item {
? background: #00bfff;
? color: #fff;
? font-size: 18px;
? padding: 4px 8px;
? margin: 4px;
}
QScrollBar:vertical {
? background: #fff;
? width: 16px;
? margin: 4px;
}
QScrollBar::handle:vertical {
? background: #00bfff;
? border-radius: 8px;
? margin: 2px;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
? background: none;
}
QScrollBar:horizontal {
? background: #fff;
? height: 16px;
? margin: 4px;
}
QScrollBar::handle:horizontal {
? background: #00bfff;
? border-radius: 8px;
? margin: 2px;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
? background: none;
}

上面的樣式將會(huì)應(yīng)用到 QPushButton、QLineEdit、QComboBox、QScrollBar 等控件上,并且可以看到各個(gè)控件的樣式都是不一樣的。其中,QComboBox 還設(shè)置了下拉列表視圖及列表項(xiàng)的樣式。

除了上述基本語(yǔ)法外,Qt 的 Qss 還有一些高級(jí)特性。

偽狀態(tài)和偽元素

Qss 支持控件的偽狀態(tài)和偽元素,用來(lái)描述控件處于特定狀態(tài)時(shí)的樣式。常見(jiàn)的狀態(tài)包括:hover(鼠標(biāo)懸停時(shí))、pressed(鼠標(biāo)按下時(shí))、checked(選中狀態(tài))、disabled(不可用狀態(tài))等。

樣式示例:

QPushButton:hover {
? background: #1e90ff;
}
QPushButton:checked {
? color: #ff4500;
}

尺寸和單位

Qss 支持不同的尺寸和單位來(lái)定義樣式,包括像素(px)、絕對(duì)長(zhǎng)度(cm、mm、in、pt、pc)、相對(duì)長(zhǎng)度(em、ex、rem)、百分比(%)等,用于實(shí)現(xiàn)不同尺寸的控件效果。

QPushButton {
? width: 100px;
? height: 30px;
}
QLabel {
? font-size: 1.5em;
}
QTextEdit {
? padding: 0.5rem;
}
QComboBox {
? width: 50%;
}

顏色和圖像

Qss 支持使用顏色和圖像來(lái)定義控件的背景,邊框和文本顏色等樣式。

顏色示例:

QWidget {
? background-color: red;
}
QPushButton {
? color: white;
? background-color: rgb(0, 255, 0);
}
QLineEdit {
? border: 1px solid #ccc;
}
QLabel {
? color: black;
? background-color: rgba(255, 255, 0, 0.5);
}

圖像示例:

QPushButton {
? border-image: url(button.png) 5 5 5 5 stretch;
}
QLabel {
? background-image: url(background.png);
? background-repeat: no-repeat;
? background-position: center;
? background-size: cover;
}
QTextEdit {
? background-image: url(paper.jpg);
? background-attachment: fixed;
}

動(dòng)畫(huà)效果

Qss 還支持使用動(dòng)畫(huà)效果來(lái)實(shí)現(xiàn)控件的動(dòng)態(tài)樣式,通過(guò) @keyframes 和 animation 實(shí)現(xiàn)。

樣式示例:

QPushButton:hover {
? animation: pulse 0.5s;
}
@keyframes pulse {
? 0% {background-color: #1e90ff;}
? 50% {background-color: #00bfff;}
? 100% {background-color: #1e90ff;}
}

總結(jié)

到此這篇關(guān)于Qt的Qss用法小結(jié)的文章就介紹到這了,更多相關(guān)Qt Qss內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++ 入門(mén)——淺析構(gòu)造函數(shù)和析構(gòu)函數(shù)

    c++ 入門(mén)——淺析構(gòu)造函數(shù)和析構(gòu)函數(shù)

    這篇文章主要介紹了c++ 淺析構(gòu)造函數(shù)和析構(gòu)函數(shù)的相關(guān)資料,幫助大家入門(mén)c++ 編程,感興趣的朋友可以了解下
    2020-08-08
  • C++基礎(chǔ)學(xué)習(xí)之利用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列

    C++基礎(chǔ)學(xué)習(xí)之利用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列

    這篇文章主要給大家介紹了關(guān)于C++基礎(chǔ)學(xué)習(xí)之利用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • C++?protobuf中對(duì)不同消息內(nèi)容進(jìn)行賦值的方式總結(jié)(set_、set_allocated_、mutable_、add_)

    C++?protobuf中對(duì)不同消息內(nèi)容進(jìn)行賦值的方式總結(jié)(set_、set_allocated_、mutable_、

    這篇文章主要給大家介紹了關(guān)于C++?protobuf中對(duì)不同消息內(nèi)容進(jìn)行賦值的方式總結(jié),主要使用的是set_、set_allocated_、mutable_、add_,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 一元多項(xiàng)式加法運(yùn)算

    一元多項(xiàng)式加法運(yùn)算

    今天小編就為大家分享一篇關(guān)于一元多項(xiàng)式加法運(yùn)算,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓

    C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓

    數(shù)據(jù)壓縮是通過(guò)一系列的算法和技術(shù)將原始數(shù)據(jù)轉(zhuǎn)換為更緊湊的表示形式,以減少數(shù)據(jù)占用的存儲(chǔ)空間,數(shù)據(jù)解壓縮則是將壓縮后的數(shù)據(jù)恢復(fù)到原始的表示形式,本文給大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)壓縮與解壓,需要的朋友可以參考下
    2023-08-08
  • Qt模仿Windows文件夾縮略圖的三種實(shí)現(xiàn)方式

    Qt模仿Windows文件夾縮略圖的三種實(shí)現(xiàn)方式

    本文講的不是簡(jiǎn)單的model/view或者widget的或者QML的基礎(chǔ)框架實(shí)現(xiàn),而是在這些框架之上的肉(文件夾縮略圖)的效果實(shí)現(xiàn),本文將以QWidget、Qt Quick(QML)、以及QGraph三種實(shí)現(xiàn)方式來(lái)講解,如何做出和Windows類(lèi)似的縮略圖,需要的朋友可以參考下
    2024-04-04
  • C/C++中關(guān)于std::string的compare陷阱示例詳解

    C/C++中關(guān)于std::string的compare陷阱示例詳解

    這篇文章主要給大家介紹了關(guān)于C/C++中關(guān)于std::string的compare陷阱的相關(guān)資料,文中先對(duì)C/C++中的std::string進(jìn)行了簡(jiǎn)單的介紹,通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • C++判斷pe文件實(shí)例

    C++判斷pe文件實(shí)例

    這篇文章主要介紹了C++判斷pe文件的方法,包含了文件操作的具體實(shí)現(xiàn)方法,具有很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • 淺談c++中的異常處理機(jī)制

    淺談c++中的異常處理機(jī)制

    C++異常處理機(jī)制通過(guò)try/catch/throw結(jié)構(gòu)處理運(yùn)行時(shí)錯(cuò)誤,本文就來(lái)介紹一下c++中的異常處理機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • C++應(yīng)用實(shí)現(xiàn)簡(jiǎn)易五子棋游戲

    C++應(yīng)用實(shí)現(xiàn)簡(jiǎn)易五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C++應(yīng)用實(shí)現(xiàn)簡(jiǎn)易五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論