Qt之QSS(動態屬性)

2021-09-23 14:36:05 字數 1326 閱讀 1229

qss可以定製應用程式的外觀,無需關注qt樣式背後的魔力。從非常輕微到極其複雜的調整,樣式表都可以做到。對於乙個完全定製和獨特的使用者體驗,qtquick和qgraphicsview是更好的選擇。

更多參考

為了使用者介面外觀的動態變化,屬性選擇器可以與動態屬性組合使用。動態屬性在qt4.2中引入,允許為編譯時不存在的qobject屬性分配屬性值。即:如果為qobject設定乙個urgent屬性為true,該屬性將跟隨該類,但不會為urgent屬性包含乙個q_property巨集。

建立樣式選擇器依賴於動態屬性,例如:urgent,可以用乙個非常動態的方式凸顯使用者介面。例如:

qlineedit

[urgent=true]

使用這種方式有侷限性。最主要的是,當乙個屬性值變化時,所引用的樣式不會自動更新。相反地,必須手動觸發更新才會生效。

unpolish()用於清理之前的樣式,而polish()則用於新增新的樣式。

例如:

mylineedit->setproperty("urgent", true);

mylineedit->style()->unpolish(mylineedit);

mylineedit->style()->polish(mylineedit);

以自定義標題欄中的最大化/還原按鈕為例,進行切換。

void titlebar::updatemaximize()

}

qpushbutton

#maximizebutton

[maximizeproperty="maximize"]

qpushbutton

#maximizebutton

[maximizeproperty="maximize"]

:hover

qpushbutton

#maximizebutton

[maximizeproperty="maximize"]

:pressed

qpushbutton

#maximizebutton

[maximizeproperty="restore"]

qpushbutton

#maximizebutton

[maximizeproperty="restore"]

:hover

qpushbutton

#maximizebutton

[maximizeproperty="restore"]

:pressed

Qt之QSS(動態屬性)

qss可以定製應用程式的外觀,無需關注qt樣式背後的魔力。從非常輕微到極其複雜的調整,樣式表都可以做到。對於乙個完全定製和獨特的使用者體驗,qtquick和qgraphicsview是更好的選擇。更多參考 為了使用者介面外觀的動態變化,屬性選擇器可以與動態屬性組合使用。動態屬性在qt4.2中引入,允...

QT開發之QSS控制項

1 多選按鈕 ui checkbox setstylesheet qcheckbox qcheckbox indicator 未選中時正常狀態 qcheckbox indicator unchecked 未選中時,滑鼠懸停時的狀態 qcheckbox indicator unchecked hove...

Qt之QSS漸變效果

qss目前支援三種漸變填充 效果如下 qpushbutton整個線性漸變軸長度為1。漸變位置 在這個例子中,x1,y1 是起點,在左上角,x2,y2 是終點在右下角。漸變點設定 在0處設白色,在0.4處設灰色,在1處設綠色。漸變位置 cx,cy 是圓錐的中心,angle是漸變的起始角度 漸變點設定 ...