在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>

qss樣式表學(xué)習(xí) - 全文

2018年03月06日 14:32 網(wǎng)絡(luò)整理 作者: 用戶評(píng)論(0
關(guān)鍵字:qss(3293)

在QT中要使界面的風(fēng)格統(tǒng)一,則不得不提到樣式表(qss),其實(shí)qss是借鑒css的靈感, Qt也聲援Qt自己的css, 簡稱qss。同css相仿,qss的首要性能與最終目標(biāo)都是能使界面的體現(xiàn)與界面的元素分手,即質(zhì)與形的分開,就好像自己可以在不同的時(shí)候穿上不同的衣服一樣,css機(jī)制的引入,使得設(shè)計(jì)一種皮膚與界面控件分別的軟件成為可能,利用過程也能像web界面那樣隨便地變換外表。

  QT樣式表單

  建立步驟:

  1、建立文本文件,寫入樣式表內(nèi)容,更改文件后綴名為qss;

  2、在工程中新建資源文件*.qrc,添加前綴文件(/名稱),將qss文件加入前綴文件中;

  3、通過傳入路徑/文件名的方式創(chuàng)建一個(gè)QFile對(duì)象,以readonly的方式打開,然后readAll,最后qApp-》setStyleSheet就可以使qss生效。

  QT的樣式表單允許我們?cè)趯?duì)程序不做任何代碼上的更改的情況下輕松改變應(yīng)用程序的外觀。

  其思想來源于網(wǎng)頁設(shè)計(jì)中的CSS,即可以將功能設(shè)計(jì)和美學(xué)設(shè)計(jì)分開。

  它的語法和概念和HTML CSS也是差不多的。

  其原理可簡單理解為:QT內(nèi)部存在一個(gè)CSS語法解析器,我們將我們的樣式控制以CSS語法定義到外部文件,CSS語法解析器解析后在調(diào)用相應(yīng)的功能模塊以完成樣式變化。(其實(shí)這部分功能我們完全可以通過代碼實(shí)現(xiàn),只是這么做既麻煩而且一旦更改會(huì)很不方便)

  比如:我在CSS定義字體顏色和大小,那么CSS語法解析器解讀出我的意圖后,可能就會(huì)調(diào)用freetype模塊來實(shí)現(xiàn)此功能。

  好處:


? ? ? ? 1.將功能設(shè)計(jì)和美學(xué)設(shè)計(jì)分開

  2.CSS設(shè)計(jì)資源多,查找容易

  說明:QT Style 樣式語法雖然和CSS語法差不多,但是其功能是其子集,在使用QT style時(shí)需具備CSS語法知識(shí)

QSS樣式表學(xué)習(xí)

1. 替換QcomboBox背景

1)。什么也沒設(shè)置效果:

qss樣式表學(xué)習(xí)

2)。設(shè)置背景透明效果

qss樣式表學(xué)習(xí)

設(shè)置代碼:

m_Comb-》setStyleSheet(

“QComboBox” “{”

“background-color:rgba(0 , 0 , 0 , 50%);”

“min-width: 12em;”//最小寬度①

“}”

① :最小寬度指的是整個(gè)QCombobox的寬度比較一下兩圖

qss樣式表學(xué)習(xí)

3)。設(shè)置背景圖片效果

qss樣式表學(xué)習(xí)

m_Comb-》setStyleSheet(

“QComboBox”

“{”

“background-color:rgba(255 , 255 , 255 , 50%);”

“background-image: url(:/in.png);”

“}”

需要注意的是,設(shè)置背景圖片和設(shè)置背景顏色必須要同時(shí)使用,否則背景圖片顯示不出來。

4)。設(shè)置邊框顏色

qss樣式表學(xué)習(xí)

m_Comb-》setStyleSheet(

“QComboBox”

“{”

“background-color:rgba(255,255,255,50%);”

“background-image:url(:/in.png);”

“border:5pxsolidred;”

“border-color:redbluegreenyellow;” “}”

注釋:border有三個(gè)參數(shù),1.畫筆像素2.畫筆樣式3.畫筆顏色

Border-color后面可以跟一個(gè)、兩個(gè)、三個(gè)、四個(gè)參數(shù),分別控制4個(gè)邊框的顏色。

5)。更改右邊的按下按鈕

qss樣式表學(xué)習(xí)

m_Comb-》setStyleSheet(

“QComboBox” “{”

“background-color:rgba(255 , 255 , 255 , 50%);”

“background-image: url(:/in.png);”

“border: 5px solid red;”

“ border-color: red blue green yellow ;”

“QComboBox::drop-down”//默認(rèn)向下按鈕

“{”

“image: url(:/1.png);” “ max-width: 12px;” “ max-height: 12px;”

“}”

“QComboBox::drop-down:pressed”//鼠標(biāo)按下改變向下按鈕 “{”

“image: url(:/0.png);” “ max-width: 12px;” “ max-height: 12px;” “}”

“QComboBox::drop-down:hover”//鼠標(biāo)懸浮,改變向下按鈕 “{”

“image: url(:/0.png);” “ max-width: 12px;” “ max-height: 12px;”

“}”

“}”

需要注意的是,drop-down和down-arrow的區(qū)別

drop-down:指的是向下的按鈕,

down-arrow:是指向下的箭頭,

注意這兩者的區(qū)別,drop-down有hover屬性,down-arrow沒有

qss樣式表學(xué)習(xí)

Background分別有4個(gè)參數(shù)。

1. 畫刷,可以是顏色值,可以是漸變

2. 圖片路徑,可以為當(dāng)前可視控件加載一個(gè)背景圖

3. 重復(fù)值,可以水平重復(fù),可以垂直重復(fù)。效果如下:

qss樣式表學(xué)習(xí)

4.圖片的位置。

QScrollBar樣式

滾動(dòng)條在Qt里叫做QScrollBar,使用樣式設(shè)置控件的外觀很方便,這里分享一下滾動(dòng)條的樣式設(shè)置。例如下面的樹形控件的滾動(dòng)條的樣式。

const QString VSCROLLBAR_STYLE =

“QScrollBar:vertical {margin: 13px 0px 13px 0px;background-color: rgb(255, 255, 255, 100); border: 0px; width: 12px;}\

.QScrollBar::handle:vertical {background-color: purple; width: 12px; }\ 。

QScrollBar::add-page:vertical {background-color: pink; }\ 。

QScrollBar::sub-page:vertical {background-color: orange; }\

.QScrollBar::sub-line:vertical {subcontrol-origin: margin; border: 1px solid red; height:13px}\

.QScrollBar::up-arrow:vertical { subcontrol-origin: margin; background-color: blue; height:13px}\

.QScrollBar::down-arrow:vertical { background-color: yellow; }\

.QScrollBar::add-line:vertical {subcontrol-origin: margin; border: 1px solid green; height:13px}“;

qss樣式表學(xué)習(xí)

QScrollBar分為sub-line、add-line、add-page、sub-page、up-arrow、down-arrow和handle幾個(gè)部分,這幾個(gè)相應(yīng)的部位都己經(jīng)在上面畫出來了。sub-line包含了up-arrow,而add-line則包含了down-arrow區(qū)域。

需要注意的是,如果不對(duì)sub-line、add-line設(shè)置subcontrol的話,會(huì)出現(xiàn)下面的問題。如果不設(shè)置整個(gè)QScrollBar的marg-left和margin-bottom話,則不能定制add-line和sub-line區(qū)域。

qss樣式表學(xué)習(xí)

沒有定義sub-control為margin

qss樣式表學(xué)習(xí)

沒有定義margin-top和margin-bottom

上一頁12全文

非常好我支持^.^

(5) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:李倩 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 四虎国产精品高清在线观看| 欧美一级视频在线观看欧美| 欧美一级片在线免费观看| 国产精品永久免费自在线观看| 奇米影视四色7777久久精品| 最新亚洲一区二区三区四区| 五月婷婷综合基地| 国产亚洲精品线观看77| 日本污视频| 岬奈奈美在线 国产一区| 男人边吃奶边做视频免费网站| 午夜网站在线播放| 亚洲区免费| 欧美高清成人videosex| 四色成人网| 狠狠色噜噜狠狠狠狠97影音先锋| 欧美日韩一区视频| 人人干人人爽| 一级毛片aaaaaa视频免费看| 狠狠色噜噜| 欧美高清一区| 色se01短视频永久免费| 中国成人免费视频| 国模私拍一区二区三区| 26uuu欧美日本| 色婷婷综合网| 天天摸日日干| jizz免费一区二区三区| 黄色大毛片| 欧美亚洲综合另类成人| 色爱综合区| 日本黄页网| 亚洲入口无毒网址你懂的| www.亚洲.com| 午夜在线观看cao| 六月婷婷综合网| 亚洲另类电击调教在线观看| 三级全黄a| 久操福利| 日韩免费高清一级毛片在线| 色综合天天|