生活随笔
收集整理的這篇文章主要介紹了
qt中设置QTabWidget,QGroupBox,QScrollArea的样式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
引言
本文對標(biāo)題中所述的三種控件的樣式使用樣式表來設(shè)置其外觀。該樣式表沒有采用樣式文件,而是在程序中直接使用函數(shù)setStyleSheet()來設(shè)置控件的樣式。
前期準(zhǔn)備
ui文件中各控件的結(jié)構(gòu)如下圖;
1.QGroupBox
從上面可以看到,QGroupBox屬于seatWidget的子控件,所以為了防止一個窗口,或者項目中同類的QGoupBox出現(xiàn)樣式的覆蓋,這里采用唯一性的設(shè)定,也就是指明QGroupBox的從屬關(guān)系,這里指的是其父窗口,也就是采用直接父類>子控件的方式,可能有點糊涂,要是沒有基礎(chǔ)的話,那么直接上代碼吧。
QString strStyle
+= "QWidget#Seatwidget>QGroupBox{background-color:transparent;""color: rgb(255, 255, 255);font-family: Microsoft YaHei;font-size: 18px;""border:2px solid #1d58b6;border-radius:8px;}"”QWidget#Seatwidget
>QGroupBox
::title
{subcontrol
-origin
: ” “margin
;subcontrol
-position
: top left
;""left
: 10px
;margin
-left
: 2px
;padding
: 0 0px
;};“
setStyleSheet(strStyle
);
上面給字符串strStyle賦值,賦值的內(nèi)容是要設(shè)置的樣式語句,這里只寫出了一個控件的樣式,若是設(shè)置多個控件的樣式,可以采用QString可追加的性質(zhì),最后使用函數(shù)setStyleSheet(strStyle );來設(shè)置控件樣式。字符串strStyle中指出了QGroupBox是窗口Seatwidget的子窗口,這樣對QGroupBox的樣式設(shè)置就只設(shè)置了Seatwidget的子控件QGroupBox,而不會改變其它的QGroupBox樣式。
2.QTabWidget
直接上代碼:
QString strStyle
+= "QWidget#backgroundWidget>QTabWidget#tabWidget::pane{border-radius:10px;""border:2px solid #e3d0f;border-style:outset;background-color:transparent;}""QWidget#backgroundWidget>QTabWidget#tabWidget::tab-bar{alignment:left;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:first{""border-top-left-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:last{""border-top-right-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab{width:536px;""height:35px;background-color:#080F51;color:white;font-size: 18px;font-family: Microsoft YaHei;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:first:selected{""background-color:#01E4EE;font-size: 18px;font-family: Microsoft YaHei;""color: #080F51;border-top-left-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:last:selected{""background-color:#01E4EE;font-size: 18px;font-family: Microsoft YaHei;""color: #080F51;border-top-right-radius:10px;}";setStyleSheet(strStyle
);
其運行的樣式:
3.QScrollArea
也直接上代碼:
QString strStyle
+= "QScrollArea{border:none;border-radius:10px;background-color:transparent;}""QScrollArea QScrollBar:vertical{min-width: 16px;""background-color: transparent;border-radius: 8px;}""QScrollArea QScrollBar::handle:vertical{background-color: #5FC6DD;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar::handle:vertical:hover{background-color: #00FBFF;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar:horizontal{min-height: 16px;""background-color: transparent;border-radius: 8px;}""QScrollArea QScrollBar::handle:horizontal{background-color: #5FC6DD;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar::handle:horizontal:hover{background-color: #00FBFF;""opacity: 0.5;border-radius: 8px;}";setStyleSheet(strStyle
);
其存在是為了當(dāng)窗口上控件數(shù)量較多,不能一下子展示在用戶面前,會自動添加水平和垂直滾動條,通過拖動滾動條來查看完整的數(shù)據(jù),當(dāng)然這個需要在屬性中設(shè)置。
其運行效果:
本文予以記錄工作中遇到的”新東西“,不是很詳細(xì)。
總結(jié)
以上是生活随笔為你收集整理的qt中设置QTabWidget,QGroupBox,QScrollArea的样式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。