Qt樣式表使用注意項

2022-05-02 15:51:10 字數 1207 閱讀 3708

qt樣式表使用注意項

qfile file("

:/qss/mystylesheet.qss

");

file.open(qfile::readonly);

<2>.樣式表描述規則

例如:

qcombobox#mycombobox::down-arrow:pressed

其中:qcombobox#mycombobox 這一部分叫型別選擇器(type selector),qcombobox指定了物件類名,#name指定物件的例項名(非必須)

down-arrow 子控制項描述符(subcontrol),和前面的字段用::隔開,這裡表示組合框的下拉按鍵

pressed 偽狀態(pseudo-states)描述符,和前面的字段用:隔開,這裡表示壓下狀態

以上除了第乙個字段,都不是必須,而是進一步限制規則適用範圍,屬性定義,由成對的屬性名:屬性值組成,用;分隔。

<3>.優先順序關係

更加具體的型別描述符定義的規則擁有更高優先順序,例如(有滑鼠懸停的按鈕的文字顏色就是白色的,否則為紅色):

qpushbutton:hover 

qpushbutton

後定義的規則優先順序高於前面的規則,例如(這種情況顏色為紅色):

qpushbutton:hover 

qpushbutton:enabled

樣式表不考慮類得繼承優先關係,例如(這種情況顏色為灰色):

qpushbutton 

qabstractbutton

控制項自身的樣式表的優先順序高於父控制項或應用程式的樣式表,例如:

qpushbutton

");

mypushbutton->setstylesheet("

* ");

<4>.樣式表繼承

在標準的css樣式表中,乙個控制項的字型和顏色屬性如果沒有明確設定,那麼將自動繼承自父控制項,而在qt的樣式表中,不會自動繼承,例如:

qgroupbox

");這種情況下,對於groupbox中的新增的子控制項,不會自動設定其顏色屬性,如果要設定子控制項的屬性,需要明確設定:

qgroupbox, qgroupbox *

");注意,這裡的繼承和上面的層疊不一樣,層疊指不同樣式表設定同乙個物件,繼承指的則是樣式表規則中選擇器對控制項層級關係的影響

樣式表注意

1.id和class到底要用哪乙個?id的優點 class的缺點 id寫在css用 選擇器,class寫在css中用 選擇器。選擇器的優先順序高於 選擇器大約10倍,所以當你需要提公升優先順序的時候,id標籤,或者id容器內的標籤將是很容易和有效的。而class標籤,或者class容器內的標籤將可能...

Qt樣式表的使用

qt中可以靈活的使用層疊樣式表 css 其語法和css很相似。因為html css的靈活性,所以可以很方便的為qt介面設計自己需要的外觀。除了子類化style類,使用qt樣式表 qstylesheet 是另一種快速改變qt程式ui風格的方法,它很大程度上借鑑和參考了 html層疊樣式表的語法和思想。...

Qt樣式表的使用

在qt中,美化gui介面最主要用到了樣式表。具體情況大家可以在網上找一些相關資料了解一下。現在本人主要講qt中樣式表的基本用法 首先給大家看一段基本 callwidget qlineedit teledt qmainwindow,qdialog qwidget qlabel qtreewidget ...