Qt之樣式表qss高級樣式知識

前言
? ? ? ? 本章是基礎知識的補充,如果你已經(jīng)掌握了基本使用方法,就可以根據(jù)控件需求自己添加想要的子控件和偽狀態(tài)了。這里將列出選項為大家提供參考列表。
如果喜歡請收藏支持。感謝您的觀看
?PyQt5學習愛好群主群:732513891(已滿)
PyQt5學習愛好群二群:937759168(已滿)
PyQt5學習愛好群三群:757679170

qss選擇器
通配選擇器?
匹配所有控件;
例:*
類型選擇器
匹配所有QPushButton和其子類的對象;
例:QPushButton
屬性選擇器
匹配所有屬性flat的值為flase的QPushButton類型對象;
例:QPushButton[flat=“flase”]
類選擇器
匹配所有QPushButton的對象,但是不匹配其子類的對象
例:.QPushButton
ID選擇器
匹配所有ID為
myButton
的控件對象,此ID為對象的objectName屬性例:#myButton
后代選擇器
所有QWidget容器中包含QPushButton類型的對象,不管直接或間接包含
例:QWidget?QPushButton
子選擇器
所有QWidget容器下所有QPushButton對象,必須是直接包含
例:QWidget > QPushButton

qss屬性設置
文檔鏈接:
樣式表屬性:https://doc.qt.io/qt-5/stylesheet-reference.html#list-of-properties
樣式表屬性可選值:https://doc.qt.io/qt-5/stylesheet-reference.html#list-of-property-types

子控件::
::add-line?——用于添加 QScrollBar 行的按鈕。
::add-page?——控點(滑塊)和 QScrollBar 的附加行之間的區(qū)域。
::branch?——QTreeView 的分支指標。
::chunk?——QProgressBar 的進度塊。
::close-button?——QDockWidget 的關閉按鈕或 QTabBar 的選項卡
::corner?——QAbstractScrollArea 中兩個滾動條之間的角
::down-arrow?——QComboBox、QHeaderView(排序指示器)、QScrollBar 或 QSpinBox 的下拉箭頭。
::down-button?——QScrollBar 或 QSpinBox 的下拉按鈕。
::drop-down?——QComboBox 的下拉按鈕。
::float-button?——QDockWidget的浮動按鈕
::groove?——QS滑塊的凹槽。
::indicator?——QAbstractItemView、QCheckBox、QRadioButton可檢查 QMenu 項或可檢查 QGroupBox 的指示器。
::handle?——QScrollBar、QSplitter 或 QSlider 的手柄(滑塊)。
::icon?——QAbstractItemView 或 QMenu 的圖標。
::item?——QAbstractItemView、QMenuBar、QMenu 或 QStatusBar 中的項。
::left-arrow?——QScrollBar 的左箭頭。
::left-corner?——QTabWidget 的左角。例如,此控件可用于控制 QTabWidget 中左角小部件的位置。
::menu-arrow?——帶有菜單的 QToolButton 的箭頭。
::menu-button?——QToolButton 的菜單按鈕。
::menu-indicator?——QPushButton 的菜單指示器。
::right-arrow?——QMenu 或 QScrollBar 的右箭頭。
::pane?——QTabWidget 的窗格(框架)。
::right-corner?——QTabWidget 的右上角。例如,此控件可用于控制 QTabWidget 中右角小部件的位置。
::scroller?——QMenu 或 QTabBar 的滾動條。
::section?——QHeaderView 的一部分。
::separator?——QMenu 或 QMainWindow 中的分隔符。
::sub-line?——用于減去 QScrollBar 的一行的按鈕。
::sub-page?——控點(滑塊)和 QScrollBar 子行之間的區(qū)域。
::tab?——QTabBar 或 QToolBox 的選項卡。
::tab-bar?——QTabWidget 的選項卡欄。此子控件僅用于控制 QTabWidget 中 QTabBar 的位置。?????????????????????????????????????????????????????????????????使用::tab 子控件設置選項卡的樣式。
::tear?——QTabBar 的撕裂指示器。
::tearoff?——QMenu 的撕裂指示器。
::text?——QAbstractItemView 的文本。
::title?——QGroupBox 或 QDockWidget 的標題。
::up-arrow?——QHeaderView(排序指示器)、QScrollBar 或 QSpinBox 的向上箭頭。
::up-button?——QSpinBox的向上按鈕。

偽狀態(tài):
:active?——當微件駐留在活動窗口中時,將設置此狀態(tài)。
:adjoins-item?——當 QTreeView 的 ::分支與項目相鄰時,將設置此狀態(tài)。
:alternate?——當 QAbstractItemView::alternatingRowColors()設置為 true 時,對于繪制 QAbstractItemView 行的每個交替行都設置此狀態(tài)。
:bottom?——該項目位于底部。例如,其選項卡位于底部的 QTabBar。
:checked?——該項目已選中。例如,QAbstractButton 的已檢查狀態(tài)。
:closable?——可以關閉這些項目。例如,QDockWidget 打開了 QDockWidget: ockWidgetClosable 功能。
:closed?——項目處于關閉狀態(tài)。例如,QTreeView 中的非展開項
:default?——該項目是默認項目。例如,默認 QPushButton 或 QMenu 中的默認操作。
:disabled?——該項目已禁用。
:editable?——QComboBox是可編輯的。
:edit-focus?——該項目具有編輯焦點(請參閱 QStyle::State_HasEditFocus)。此狀態(tài)僅適用于 Qt 擴展應用程序。
:enabled?——該項目已啟用。
:exclusive?——該項是獨占項組的一部分。例如,獨占 QAction 組中的菜單項。
:first?——該項目是第一個(在列表中)。例如,QTabBar 中的第一個選項卡。
:flat?——項目是扁平的。例如,一個扁平的 QPushButton。
:floatable?——項目可以浮動。例如,QDockWidget 打開了 QDockWidget:QDockWidgetFloatable 功能。
:focus?——該項目具有輸入焦點。
:has-children?——該項目具有子項。例如,QTreeView 中具有子項的項目。
:has-siblings?——該項目具有同級。例如,QTreeView 中同級的項目。
:horizontal?——項目具有水平方向
:hover?——鼠標懸停在項目上。
:indeterminate?——項目具有不確定狀態(tài)。例如,QCheckBox 或 QRadioButton 被部分選中。
:last?——該項目是最后一個(在列表中)。例如,QTabBar 中的最后一個選項卡。
:left?——項目位于左側(cè)。例如,其選項卡位于左側(cè)的 QTabBar。
:maximized?——項目將最大化。例如,最大化的 QMdiSubWindow。
:middle?——項目位于中間(在列表中)。例如,不在 QTabBar 的開頭或結(jié)尾的選項卡。
:minimized?——該項目將被最小化。例如,最小化的 QMdiSubWindow。
:movable?——項目可以四處移動。例如,QDockWidget 打開了 QDockWidget:QDockWidgetMovable 功能。
:no-frame?——該項目沒有框架。例如,無幀 QSpinBox 或 QLineEdit。
:non-exclusive?——物料是非獨占物料組的一部分。例如,非獨占 QAction 組中的菜單項。
:off?——對于可以切換的項目,這適用于處于"關閉"狀態(tài)的項目。
:on?——對于可以切換的項目,這適用于處于"打開"狀態(tài)的小部件。
:only-one?——該項目是唯一的(在列表中)。例如,QTabBar 中的一個單獨選項卡。
:open?——項目處于打開狀態(tài)。例如,QTreeView 中的展開項,或者具有打開菜單的 QComboBox 或 QPushButton。
:next-selected?——下一項(在列表中)處于選中狀態(tài)。例如,QTabBar 的選定選項卡位于此項旁邊。
:pressed?——正在使用鼠標按下項目。
:previous-selected?——上一項(在列表中)處于選中狀態(tài)。例如,QTabBar 中所選選項卡旁邊的選項卡。
:read-only?——該項目被標記為只讀或不可編輯。例如,只讀 QLineEdit 或不可編輯的 QComboBox。
:right?——項目位于右側(cè)。例如,其選項卡位于右側(cè)的 QTabBar。
:selected?——項目已被選中。例如,QTabBar 中的選定選項卡或 QMenu 中的選定項。
:top?——項目位于頂部。例如,其選項卡位于頂部的 QTabBar。
:unchecked?——該項目處于未選中狀態(tài)。
:vertical?——項目具有垂直方向。
:window?——小部件是一個窗口(即頂級小部件)