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:hoverqpushbutton
後定義的規則優先順序高於前面的規則,例如(這種情況顏色為紅色):
qpushbutton:hoverqpushbutton:enabled
樣式表不考慮類得繼承優先關係,例如(這種情況顏色為灰色):
qpushbuttonqabstractbutton
控制項自身的樣式表的優先順序高於父控制項或應用程式的樣式表,例如:
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 ...