QSS 介绍
目錄
- 一、自定義 widget 的兩種方式
- 二、一個簡單示例
- 三、QSS 比 QPalette 強大
- 四、使用 Qt Designer 方便查看 qss 效果
一、自定義 widget 的兩種方式
自定義 widget 外觀的方式有兩種:
Qt Style Sheets 是一種強大的機制,其概念、術語、語法與 CSS 類似。
注意:如果同時設置了 qss 和 widget 的外觀函數,如 setFont(),則 qss 優先。
二、一個簡單示例
Style sheets(樣式表)是一種文本規范,既可以調用 QApplication::setStyleSheet() 將樣式應用于整個程序中的所有 widget,也可以使用 QWidget::setStyleSheet() 單獨設置某個 widget。如果同一個 widget 設置了多個 qss,則 Qt 會從這些設置中派生出有效的樣式表,稱為“cascading(級聯)”。
例如,以下規則指定了:所有的 QLineEdit 的背景色為黃色,所有的 QCheckBox 文本為紅色:
QLineEdit { background: yellow } QCheckBox { color: red }三、QSS 比 QPalette 強大
QPalette 調色板與平臺相關,例如同一個窗口在 windows、macOS 上會有不同的樣式。而 QSS 保證在所有平臺上具有相同的外觀。
這是因為 QSS 作用在 widget 當前樣式之上。在繪制 widget 時,paintEvent() 中會調用 QWidget::style() 來繪制外觀。如果沒有設置 qss,則 style() 會返回特定于平臺的樣式,例如在 Windows 上為 QWindowsVistaStyle;如果設置了 qss,那么 Qt 也會返回一個 QStyle,只不過其中包含了 qss 的設置。
四、使用 Qt Designer 方便查看 qss 效果
此外,在 Qt Designer 中可以方便的查看設置 qss 后的效果。
總結
- 上一篇: VMware虚拟机部署k8s集群
- 下一篇: pascal行人voc_Pascal V