真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【Qt學(xué)習(xí)筆記】14.界面的樣式(QtStylesheet)

一、StyleSheet的基本用法

創(chuàng)新互聯(lián)建站客戶idc服務(wù)中心,提供雅安服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。

StyleSheet : 樣式單

Qt中支持StyleSheet技術(shù),將界面的樣式定義分離開(kāi)來(lái)。采用和HTML/CSS類似的形式,使用一個(gè)文本文件來(lái)單獨(dú)定義樣式。

通常,用于定義界面樣式的StyleSheet稱為“皮膚”

StyleSheet的定義:

定義一個(gè)StyleSheet,前面是類名(稱為Selector),大括號(hào)內(nèi)是屬性定義,支持/**/注釋語(yǔ)法

例如:

/* 以GBK保存 */
QLineEdit
{
    background: yello;
}        // 注意末尾沒(méi)有分號(hào)

QPushButon, QLineEdit
{
    color: blue;
}                // 注意末尾沒(méi)有分號(hào)

StyleSheet的使用:

1、設(shè)置全局樣式:

可以在main函數(shù)中,直接給QApplication設(shè)置樣式,此樣式為全局樣式

QString style = "QPushbutton{ color: blud; }";
a.setStyleSheet(style);        //a是  QApplication 類型的對(duì)象

2、設(shè)置窗口樣式:

可以給某個(gè)窗口對(duì)象設(shè)置樣式

QString style = "QPushbutton{ color: blue; }";
w.setStyleSheet(style);        //w是窗體

樣式的重復(fù)定義:

1、對(duì)同一個(gè)對(duì)象調(diào)用多次setStyleSheet,則后設(shè)置的生效,先前的設(shè)置全部丟棄。(替換)

2、下層的樣式覆蓋上層(疊加)

全局樣式(上層) >>> 窗口樣式 >>> 子窗口樣式(下層)

結(jié)果:相同的屬性發(fā)生覆蓋,其他部分保留

皮膚文件:

通常,把樣式的內(nèi)容存放到一個(gè)文本文件里,然后在程序打開(kāi)時(shí)加載,此文本稱為皮膚文件

// 在main中讀取皮膚文件的內(nèi)容
QString style = readfile("skin.css");
a.setStyleSheet(style);

要注意文件的編碼,在中文的Windows上編輯文本文件時(shí),默認(rèn)的是GBK編碼

二、StyleSheet的語(yǔ)法——Selector

Selector:主體是類名

1、屬性的疊加:在一個(gè)stylesheet里,后寫(xiě)的定義會(huì)覆蓋先寫(xiě)的定義

2、包含本類和子類的定義

3、同一行中,可以寫(xiě)多個(gè)類型,以逗號(hào)分隔

QPushButton, QLineEdit, QCheckBox
{
    background: color: black;
}

按屬性區(qū)分:

假如有8個(gè)QPushButton,但想將它們 分成2組,分別有不同的樣式,怎么實(shí)現(xiàn)呢?

一種辦法是寫(xiě)一個(gè)子類繼承QPushButton,然后對(duì)這個(gè)子類單獨(dú)設(shè)置樣式,

但這種場(chǎng)景,Qt已經(jīng)為我們提供了一種處理方式

之前或許我們就注意到,每個(gè)控件都有一個(gè)屬性: whatsThis

該屬性就是用來(lái)處理這種場(chǎng)景的。

使用:

QPushButton[whatsThis="classic"]
{
    color: green;
}
QPushButton[whatsThis="modern"]
{
    color: red;
}

此外,還有一種區(qū)分方法:按ID區(qū)分(即object name,變量名)

QPushButton#btnSearch
{
    color: green;
}

但這種方法有缺陷,通常還是按屬性分比較好


名稱欄目:【Qt學(xué)習(xí)筆記】14.界面的樣式(QtStylesheet)
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/ggcdhc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部