Qt對基本控制元件進行美化 QStyle和QStyleSheet

groundhappy發表於2016-07-27

1使用QStyle

QStyle是一個抽象類 定義了控制元件如何畫出來。可以繼承這個類實現一些Draw方法來構建某個style


最後對於控制元件呼叫QWidget->SetStyle 或者全域性使用這個style QApp->SetStyle

這種方法比較麻煩,一般UI美化用QStyleSheet。


2QStyleSheet也可以用 QWidget->SetStyleSheet  QApp->SetStyleSheet

引數是類似 css的 描述性字串

關於stylesheet 可以參考 http://doc.qt.io/qt-4.8/stylesheet.html

目前stylesheet暫時不支援自定義的Qstyle。


舉例

AddressEdit=new QLineEdit(MainWidget);
AddressEdit->setStyleSheet("QLineEdit{border:1px solid rgb(180, 180, 180);}");

將這個QLineEdit設定邊界寬度1,實線描繪

AddressEdit->setStyleSheet("QLineEdit{border:1px solid rgb(180, 180, 180);background:rgb(255,0,0);}");

邊界寬度1,實線描繪 背景紅色


關於控制元件可以設定哪些屬性(比如boarder background )可以參考

http://doc.qt.io/qt-4.8/stylesheet-reference.html










相關文章