最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【Qt學(xué)習(xí)筆記】14.界面的樣式(QtStylesheet)

一、StyleSheet的基本用法

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

StyleSheet : 樣式單

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

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

StyleSheet的定義:

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

例如:

/* 以GBK保存 */
QLineEdit
{
    background: yello;
}        // 注意末尾沒有分號

QPushButon, QLineEdit
{
    color: blue;
}                // 注意末尾沒有分號

StyleSheet的使用:

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

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

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

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

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

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

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

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

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

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

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

皮膚文件:

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

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

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

二、StyleSheet的語法——Selector

Selector:主體是類名

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

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

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

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

按屬性區(qū)分:

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

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

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

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

該屬性就是用來處理這種場景的。

使用:

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

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

QPushButton#btnSearch
{
    color: green;
}

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


標(biāo)題名稱:【Qt學(xué)習(xí)筆記】14.界面的樣式(QtStylesheet)
URL地址:http://fisionsoft.com.cn/article/ggcdhc.html