Qt樣式單參考
Qt樣式單支持各種屬性、偽狀態和子控件,這樣使得妳能夠自行設計部件的外觀。
可進行樣式設置的部件列表
下表列出的是可使用樣式單來自定義其外觀的Qt 部件:
| 部件 |
如何設置樣式 |
| 支持盒狀模型。 QAbstractScrollArea 的所有繼承類,包括 QTextEdit 和QAbstractItemView (所有的條目視圖(item view)類),都支持可滾動的背景,使用 background-attachment 來設置是否滾動。將background-attachment 設置成fixed的話,就會使得背景圖片(background-image)不隨視口(viewport)而滾動。如果將background-attachment 設置成scroll,那么在移動滾動條時,背景圖片也會移動。 參考自定義QAbstractScrollArea的示例。 |
|
| 支持盒狀模型。選中狀態的指示器可使用 ::indicator 子控件(subcontrol)來進行樣式設置。默認情況下,指示器是放在部件的內容(Contents)區域的左(Left)上(Top)角。 spacing 屬性控制的是選中狀態指示器與文字之間的空隙。 參考自定義QCheckBox示例。 |
|
| 可使用 image 屬性來對網格(grip)進行樣式設置。箭頭指示器(arrow indicators)可使用 ::left-arrow 和 ::right-arrow 子控件來進行樣式設置。 |
|
| 組合框周圍的框架(frame)可使用盒狀模型來進行樣式設置。下拉按鈕可使用 ::drop-down 子控件來進行樣式設置。默認情況下,下拉按鈕是放置在部件的填充(padding)區域的右上角。下拉按鈕中的箭頭標志可使用 ::down-arrow 子控件來進行樣式設置。默認情況下,箭頭是放置在下拉按鈕子控件的內容區域的中央。 參考自定義QComboBox示例。 |
|
| 參考 QSpinBox 。 |
|
| 參考 QSpinBox 。 |
|
| 只支持 background 、 background-clip 和 background-origin 屬性。 警告:確保妳在自定義的部件中定義咯Q_OBJECT宏。 |
|
| 按鈕的布局方式可使用 button-layout 屬性來改變。 |
|
| 在停靠狀態(docked),支持對標題欄和標題欄的按鈕進行樣式設置。 停靠部件的邊框(border)可使用 border 屬性來進行樣式設置。::title 子控件可用來對標題欄進行樣式設置。關閉按鈕和漂浮按鈕可分別使用 ::close-button 和 ::float-button 來相對於(with respect to) ::title 子控件進行位置設置。如果標題欄是豎直的,那么就會存在(is set) :vertical 偽類。另外,取決於QDockWidget::DockWidgetFeature的值, :closable 、 :floatable和 :movable 偽狀態也可能存在。 注意:使用QMainWindow::separator 來對改變大小的手柄(resize handle)進行樣式設置。 警告:在 QDockWidget 不處於停靠狀態(undocked)時,樣式單無效,∵Qt 在未停靠狀態會使用原生(native)的頂級窗口。 參考自定義QDockWidget示例。 |
|
| 參考 QSpinBox 。 |
|
| 支持盒狀模型。 從4.3 開始,對一個 QLabel 設置樣式單的話,會自動將QFrame::frameStyle 屬性設置成QFrame::StyledPanel。 參考自定義QFrame示例。 |
|
| 支持盒狀模型。標題可使用 ::title 子控件來進行樣式設置。默認情況下,標題是按照QGroupBox::textAlignment 來放置位置的。 如果是一個可選中(checkable)的 QGroupBox 的話,那么標題也包含選中狀態指示器。指示器可使用 ::indicator 子控件來進行樣式設置。 spacing 屬性可用來控制文字與指示器之間的間隔。 參考自定義QGroupBox示例。 |
|
| 支持盒狀模型。表頭視圖(header view)的各個節區(sections)是使用 ::section 子控件來進行樣式設置的。section子控件支持:middle 、 :first 、 :last 、 :only-one 、 :next-selected 、:previous-selected 、 :selected 和 :checked 偽狀態。 排序指示器可使用 ::up-arrow 和 ::down-arrow 子控件來進行樣式設置。 參考自定義QHeaderView示例。 |
|
| 支持盒狀模型。不支持 :hover 偽狀態。 從4.3 開始,對一個 QLabel 設置樣式單的話,會自動將QFrame::frameStyle 屬性設置成QFrame::StyledPanel。 |
|
| 支持盒狀模型。 選中的項目(item)的顏色和背景分別是使用selection- color 和selection-background-color 來進行樣式設置的。 密碼字符可使用 lineedit-password-character 屬性來進行樣式設置。 參考自定義QLineEdit示例。 |
|
| 支持盒狀模型。如果交替改變行顏色(alternating row colors)被啟用的話,那么交替的顏色(alternating colors)可使用alternate-background-color 屬性來進行樣式設置。 選中的項目(item)的顏色和背景分別是使用selection- color 和selection-background-color 來進行樣式設置的。 選擇行為是由 show-decoration-selected 屬性來進行控制的。 使用 ::item 子控件來對 QListView 中的條目進行更精細的控制。 參考 QAbsractScrollArea 以了解對可滾動的背景的樣式設置。 參考自定義QListView示例。 |
|
| 參考 QListView 。 |
|
| 支持對分隔符進行樣式設置。 在 QMainWindow 中使用 QDockWidget 時產生的分隔符是使用::separator 子控件來進行樣式設置的。 參考自定義QMainWindow示例。 |
|
| 支持盒狀模型。 單個的條目是使用 ::item 子控件來進行樣式設置的。除咯通常的偽狀態以外,item子控件還支持 :selected 、 :default 、:exclusive 和 non-exclusive 偽狀態。 可選中的菜單條目的指示器是通過 ::indicator 子控件來進行樣式設置的。 分隔符是使用 ::separator 子控件來進行樣式設置的。 對於有子菜單的條目,它們的箭頭標記是使用 right-arrow 和left-arrow 來進行樣式設置的。 滾動器(scroller)是使用 ::scroller 來進行樣式設置的。 分離菜單(tear-off)是使用 ::tearoff 來進行樣式設置的。 參考自定義QMenu示例。 |
|
| 支持盒狀模型。 spacing 屬性指明菜單條目之間的空隙大小。單個的條目是使用 ::item 子控件來進行樣式設置的。 警告:在Qt/Mac 平台上,菜單條通常是嵌入系統的全局菜單條中的。在這種情況下,樣式單無效。 參考自定義QMenuBar示例。 |
|
| messagebox-text-interaction-flags 屬性可用來改變消息框中的文字的交互模式。 |
|
| 支持盒狀模型。進度條的進度塊(chunks)可使用 ::chunk 子控件來進行樣式設置。進度塊顯示在部件的內容區域中。 如果進度條顯示文字,那么就使用 text-align 屬性來設置文字的位置。 不確定的(Indeterminate)進度條會有 :indeterminate 偽狀態。 參考自定義QProgressBar示例。 |
|
| 支持盒狀模型。支持 :default 、 :flat 、 :checked 偽狀態。 對於包含有一個菜單的 QPushButton ,其菜單指示器是使用::menu-indicator 子控件來進行樣式設置的。可選中的按鈕的外觀可使用 :open 和 :closed 偽狀態來進行樣式設置。 警告:如果妳只為 QPushButton 設置一個背景色(background-color)的話,那個背景可能不會顯示出來,除非妳將邊框(border)屬性設置成某個值。勒是∵,在默認情況下,QPushButton 會繪制一個原始的(native)邊框,它會完全覆蓋(overlaps)背景色。例如, QPushButton { border: none; } 參考自定義QPushButton示例。 |
|
| 支持盒狀模型。選中指示器可使用 ::indicator 子控件來進行樣式設置。默認情況下,指示器被放置在部件的內容區域的左上角。 spacing 屬性指明選中指示器與文字之間的空隙大小。 參考自定義QRadioButton示例。 |
|
| 支持盒狀模型。目前認為滑塊在其中滑動的那個槽(groove)就是這個部件的內容區域。 QScrollBar 的廣度(extent)(也就是說,寬度或高度,取決於方向)是使用 width 或 height 屬性來設置的。要確定方向的話,就使用 :horizontal 和 :vertical 偽狀態。 滑塊可使用 ::handle 子控件來進行樣式設置。設置 min-width 或min-height 可按照方向來對滑塊提供尺寸的限制。 (以下部分的原文寫得很糟糕,本座按照理解修改咯某些語意,有不清楚的地方最好自行試驗) ::add-line 子控件可用來對那個增加一行的按鈕進行樣式設置。默認情況下,加一行(add-line)子控件被放置在部件的邊框(Border)區域的右下角(原文意思是右上角)。取決於部件的方向,其中的箭頭(前面這個主語從句,原文沒有)可能是 ::right-arrow 或 ::down-arrow 。默認情況下,箭頭會被放置在加一行子控件的內容區域的中心。 ::sub-line 子控件可用來對那個減少一行的按鈕進行樣式設置。默認情況下,減一行(sub-line)子控件被放置在部件的邊框區域的左上角(原文是右下角)。取決於部件的方向,其中的箭頭(前面這個主語從句,原文沒有)可能是 ::left-arrow 或 ::up-arrow 。默認情況下,箭頭會被放置在減一行子控件的內容區域的中心。 ::sub-page 子控件可用來對那個可起到減一頁作用的滑塊區域進行樣式設置。 ::add-page 子控件可用來對那個可起到加一頁作用的滑塊區域進行樣式設置。 參考自定義QScrollBar示例。 |
|
| 參考自定義QSizeGrip示例。 |
|
| 支持盒狀模型。對於水平滑動器,必須提供 min-width 和 height屬性。對於豎直滑動器,必須提供 min-height 和 width 屬性。 滑動器的滑槽是使用 ::groove 來進行樣式設置的。默認情況下,滑槽被放置在部件的內容區域中。滑動器的滑塊(thumb)是使用::handle 子控件來進行樣式設置的。這個子控件就在滑槽的內容區域中移動。 參考自定義QSlider示例。 |
|
| 旋轉框(spin box)的框架(frame)可使用盒狀模型來進行樣式設置。 向上按鈕和箭頭可使用 ::up-button 和 ::up-arrow 子控件來進行樣式設置。默認情況下,向上按鈕被放置在部件的填充區域的右上角。如果沒有設置顯式的尺寸,那么,它會占據它的參考(reference)區域的一半高度。向上箭頭被放置在向上按鈕的內容區域的中心。 向下按鈕和箭頭可使用 ::down-button 和 ::down-arrow 子控件來進行樣式設置。默認情況下,向下按鈕被放置在部件的填充區域的右下角。如果沒有設置顯式的尺寸,那么,它會占據它的參考(reference)區域的一半高度。向下箭頭被放置在向下按鈕的內容區域的中心。 參考自定義QSpinBox示例。 |
|
| 支持盒狀模型。分割器(splitter)的手柄是使用 ::handle 子控件進行樣式設置的。 參考自定義QSplitter示例。 |
|
| 只支持 background 屬性。單個條目的框架可使用 ::item 子控件來進行樣式設置。 參考自定義QStatusBar示例。 |
|
| 單個標簽(tabs)可使用 ::tab 子控件來進行樣式設置。關閉按鈕可使用 ::close-button 子控件進行樣式設置。標簽支持 :only-one、 :first 、 :last 、 :middle 、 :previous--selected 、:next-selected 、 :selected 偽狀態。 取決於標簽組的方向,會有 :top 、 :left 、 :right 、 :bottom偽狀態。 處於選中狀態的重疊的標簽是通過使用負數的邊距(margins)或使用absolute(絕對)位置模式來創建的。 QTabBar 的分離(tear)指示器是使用 ::tear 子控件來進行樣式設置的。 QTabBar 用兩個QToolButtons 來表示它的滾動器,它們可使用QTabBar QToolButton選擇器來進行樣式設置。使用 ::scroller子控件來指定滾動按鈕的寬度。 QTabBar 中的標簽的對齊方式是使用 alignment 屬性來進行設置的。 警告:要改變 QTabWidget 中的 QTabBar 的位置,就使用 tab-bar子控件(並且設置子控件位置(subcontrol-position))。 參考自定義QTabBar示例。 |
|
| 標簽部件的框架是使用 ::pane 子控件來進行樣式設置的。左邊角和右邊角分別是使用 ::left-corner 和 ::right-corner 來進行樣式設置的。標簽條的位置是使用 ::tab-bar 子控件來控制的。 默認情況下, QTabWidget 的子控件的位置是按照 QWindowsStyle風格來確定的。要想將 QTabBar 放置在中央的位置,就設置tab-bar 子控件的subcontrol-position。 取決於標簽組的方向,會有 :top 、 :left 、 :right 、 :bottom偽狀態。 參考自定義QTabWidget示例。 |
|
| 支持盒狀模型。如果交替改變行顏色(alternating row colors)被啟用的話,那么交替的顏色(alternating colors)可使用alternate-background-color 屬性來進行樣式設置。 選中的項目(item)的顏色和背景分別是使用selection- color 和selection-background-color 來進行樣式設置的。 QTableView 中的邊角(corner)部件是一個 QAbstractButton ,可使用" QTableView QTableCornerButton::section"選擇器來進行樣式設置。 警告:如果妳只為QTableCornerButton 設置背景色的話,背景可能不會顯示出來,除非妳將邊框屬性設置成某個值。這是∵,默認情況下,QTableCornerButton會繪制一個原始的邊框,它會完全擋住背景色。 網格(grid)的顏色可使用 gridline-color 屬性來進行設置。 參考 QAbsractScrollArea 以了解如何設置可滾動的背景。 參考自定義QTableView示例。 |
|
| 參考 QTableView 。 |
|
| 支持盒狀模型。 選中的文字的顏色和背景色可分別使用 selection-color 和selection-background-color 來進行樣式設置。 參考 QAbsractScrollArea 以了解如何設置可滾動的背景。 |
|
| 參考 QSpinBox 。 |
|
| 支持盒狀模型。 取決於工具條所在的區域(停靠方向),可能會存在 :top 、 :left、 :right 、 :bottom 偽狀態。 :first 、 :last 、 :middle 、 :only-one 偽狀態能夠指示這個工具條在一個線性(line)組(group)(參考QStyleOptionToolBar::positionWithinLine)中的位置。 QToolBar 的分隔符是使用 ::separator 子控件來進行樣式設置的。 手柄(handle)(用來移動工具條)是使用 ::handle 子控件來進行樣式設置的。 參考自定義QToolBar示例。 |
|
| 支持盒狀模型。 如果這個 QToolButton 擁有一個菜單的話,那么 ::menu-indicator子控件可用來對菜單指示器進行樣式設置。默認情況下,菜單指示器(menu-indicator)被放置在這個部件的填充區域的右下角。 如果這個 QToolButton 是處於QToolButton::MenuButtonPopup模式,那么 ::menu-button 子控件就會用來繪制菜單按鈕。 ::menu-arrow 子控件被用來在菜單按鈕里面繪制菜單箭頭。默認情況下,它會位於菜單按鈕子控件的內容區域的中心。 如果這個 QToolButton 顯示箭頭的話,那么 ::up-arrow 、::down-arrow 、::left- arrow和 ::right-arrow 子控件都會用上。 警告:如果妳只為 QToolButton 設置背景色的話,背景可能不會顯示出來,除非妳將邊框屬性設置成某個值。這是∵,默認情況下,QToolButton 會繪制一個原始的邊框,它會完全擋住背景色。例如, QToolButton { border: none; } 參考自定義QToolButton示例。 |
|
| 支持盒狀模型。 單個標簽可使用 ::tab 子控件來進行樣式設置。標簽支持 :only-one 、 :first 、 :last 、 :middle 、 :previous-selected 、:next-selected 、 :selected 偽狀態。 |
|
| 支持盒狀模型。 opacity 屬性控制工具提示(tooltip)的透明度。 |
|
| 支持盒狀模型。如果交替改變行顏色(alternating row colors)被啟用的話,那么交替的顏色(alternating colors)可使用alternate-background-color 屬性來進行樣式設置。 選中的項目(item)的顏色和背景分別是使用selection- color 和selection-background-color 來進行樣式設置的。 選擇行為是由 show-decoration-selected 屬性來進行控制的。 樹型視圖的分支(branches)可使用 ::branch 子控件來進行樣式設置。::branch子控件支持 :open 、 :closed 、 :has-sibling 和:has-children 偽狀態。 使用 ::item 子控件來對 QTreeView 中的條目進行更精細的控制。 參考 QAbsractScrollArea 以了解如何設置可滾動的背景。 參考自定義QTreeView示例以了解如何對分支進行樣式設置。 |
|
| 參考 QTreeView 。 |
|
| 只支持 background 、 background-clip 和 background-origin 屬性。 如果妳從 QWidget 繼承一個子類,那么妳需要為妳的自定義QWidget 提供以下的一個繪制事件(paintEvent): void CustomWidget :: paintEvent( QPaintEvent * ) { QStyleOption opt; opt . init( this ); QPainter p( this ); style() -> drawPrimitive( QStyle :: PE_Widget , & opt , & p , this ); } 如果沒有設置樣式單的話,以上的代碼不起任何作用(no-operation)。 警告:確保為妳的自定義部件(widget)定義咯Q_OBJECT宏。 |
屬性列表
下面的表格列出咯由Qt 樣式單支持的所有屬性。它們的值可按照 屬性類型 來進行賦值。除非另外有說明,否則以下的屬性對所有部件都有用。帶有星號*的屬性是Qt 特有的,在CSS2 或CSS3 中沒有等價屬性。
| 屬性 |
類型 |
說明 |
|||
| 在 QAbstractItemView 子類中使用的交替背景色。 如果這個屬性沒有設置的話,那么默認值就是為調色板(palette)的AlternateBase角色(role)設置的值。 示例: QTreeView { alternate- background: yellow; } |
|||||
| 用來設置背景的省寫(Shorthand)方式。等價於設置background-color、background-image、background-repeat和/或background-position。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QDialog 、QFrame 、 QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、QSplitter 、 QTextEdit 、 QToolTip 和普通的 QWidget 支持。 示例: QTextEdit { background: yellow } 通常,有必要設置一個類似Qt::BrushStyle中的樣式的填充模式。你可以為Qt::SolidPattern、Qt::RadialGradientPattern、Qt::LinearGradientPattern和Qt::ConicalGradientPattern使用背景色(background-color)屬性。其它模式也可以很簡單地通過創建一個包含那種模式的背景圖片的方式來實現。 示例: QLabel { background-image: url(dense6pattern.png); background-repeat: repeat-xy; } 參考 background-origin 、selection-background- color、 background-clip 、 background-attachment 和alternate-background-color 。 |
|||||
| 為這個部件使用的背景顏色。 示例: QLabel { font-size: 10pt; font-family: "DejaVu Sans Mono"; padding: 0cm; border-style: none; background-color: rgb(246, 246, 246);">QLineEdit { "> |
為這個部件使用的背景圖片。圖片的半透明部分會露出背景顏色(background-color)。 示例: QFrame { background-image: url(:/images/hydro.png) } |
||||
| 在填充background-origin矩形的過程中,背景圖片是否要重要,以及如何重復。 如果沒有設置的話,則背景圖片在兩個方向上都重復(repeat)。 示例: QFrame { background: white url(:/images/ring.png); background-repeat: repeat-y; background-position: left; } |
|||||
| background-position |
背景圖片在background-origin矩形中的對齊方式。 沒有設置的話,則對齊方式是top left(左上)。 Example: QFrame { background: url(:/images/footer.png); background-position: bottom left; } |
||||
| 確定在一個 QAbstractScrollArea 中的背景圖片是否會隨視口(viewport)滾動。默認情況下,背景圖片會隨視口滾動。 示例: QTextEdit { background-image: url("leaves.png"); background-attachment: fixed; } 參考 background 。 |
|||||
| 在部件的矩形區域中繪制背景(background)的區域。 這個屬性指定的是background-color和background-image在其中被修剪(clipped)的矩形區域。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QDialog 、QFrame 、 QGroupBox 、 QLabel 、 QPushButton 、 QRadioButton 、 QSplitter 、 QTextEdit 、 QToolTip 和普通的 QWidget 支持。 如果這個屬性沒有設置的話,則默認值是border。 示例: QFrame { background-image: url(:/images/header.png); background-position: top left; background-origin: content; background-clip: padding; } 參考 background 、 background-origin 和盒狀模型(The Box Model)。 |
|||||
| 部件的背景矩形區域,與background-position和background-image結合使用。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QDialog 、QFrame 、 QGroupBox 、 QLabel 、 QPushButton 、 QRadioButton 、 QSplitter 、 QTextEdit 、 QToolTip 和普通的 QWidget 支持。 如果這個屬性沒有設置的話,則默認值是padding。 示例: QFrame { background-image: url(:/images/header.png); background-position: top left; background-origin: content; } 參考 background 和盒狀模型。 |
|||||
| 用來設置部件的邊框的省寫方式。等價於設置border-color、border-style和/或border-width。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 、 QToolTip 和普通 QWidget 支持。 示例: QLineEdit { border: 1px solid white } |
|||||
| border-top |
用來設置部件的頂部邊框的省寫方式。等價於設置border-top-color、border-top-style和/或border-top-width。 |
||||
| border-right |
用來設置部件的右側邊框的省寫方式。等價於設置border-right-color、border-right-style和/或border-right-width。
|
||||
| border-bottom |
用來設置部件的底部邊框的省寫方式。等價於設置border-bottom-color、border-bottom-style和/或border-bottom-width。 |
||||
| border-left |
用來設置部件的左側邊框的省寫方式。等價於設置border-left-color、border-left-style和/或border-left-width。 |
||||
| 邊框的所有邊的顏色。等價於指定border-top-color、border-right-color、border-bottom-color和border-left-color。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 、 QToolTip 和普通 QWidget 支持。 如果這個屬性沒有指定,則默認是 color (也就是說,部件的前景色)。 示例: QLineEdit { border-width: 1px; border-style: solid; border-color: white; } 參考 border-style 、 border-width 、 border-image 和盒狀模型。 |
|||||
| border-top-color |
邊框的頂部邊線的顏色。 |
||||
| border-right-color |
邊框的右側邊線的顏色。 |
||||
| border-bottom-color |
邊框的底部邊線的顏色。 |
||||
| border-left-color |
邊框的左側邊線的顏色。 |
||||
| 用來填充邊框的圖片。圖片被切成9塊,並且在必要的時候還會被拉伸(stretched)。參考 Border Image 以了解細節。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 參考 border-color 、 border-style 、 border-width 和盒狀模型。 |
|||||
| 邊框的邊角的半徑。等價於指定border-top-left-radius、border-top-right-radius、border-bottom-right-radius和border-bottom-left-radius。 邊框半徑(border-radius)會修剪(clips)這個元素的背景( background )。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 如果這個屬性沒有指定的話,那么它的默認值是0。 示例: QLineEdit { border-width: 1px; border-style: solid; border-radius: 4px; } 參考 border-width 和盒狀模型。
|
|||||
| border-top-left-radius |
邊框的左上角的半徑。 |
||||
| border-top-right-radius |
邊框的右上角的半徑。 |
||||
| border-bottom-right-radius |
邊框的右下角的半徑。將這個屬性設置成正數的值就會產生圓角。 |
||||
| border-bottom-left-radius |
邊框的左下角的半徑。將這個屬性設置成正數的值就會產生圓角。 |
||||
| 邊框的所有邊線的風格。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 如果這個屬性沒有指定,則默認值是無(none)。 示例: QLineEdit { border-width: 1px; border-style: solid; border-color: blue; } 參考 border-color 、 border-style 、 border-image 和盒狀模型。
|
|||||
| border-top-style |
邊框的頂部邊線的風格。 |
||||
| border-right-style |
邊框的右側邊線的風格。 |
||||
| border-bottom-style |
邊框的底部邊線的風格。 |
||||
| border-left-style |
邊框的左側邊線的風格。 |
||||
| 邊框的寬度。等價於設置border-top-width、border-right-width、border-bottom-width和border-left-width。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 示例: QLineEdit { border-width: 2px; border-style: solid; border-color: darkblue; } 參考 border-color 、 border-radius 、 border-style 、 border-image 和盒狀模型。
|
|||||
| border-top-width |
邊框的頂部邊線的寬度。 |
||||
| border-right-width |
邊框的右側邊線的寬度。 |
||||
| border-bottom-width |
邊框的底部邊線的寬度。 |
||||
| border-left-width |
邊框的左側邊線的寬度。 |
||||
| 如果 position (位置)是relative(相對的)(默認值),則將一個子控件( subcontrol )向上移動一定的位置;在那種情況下,指定bottom: y 等價於指定 top : - y 。 如果 position 是absolute(絕對的),則bottom屬性指定的是這個子控件的底部邊線相對於親代(parent)部件的底部邊線的位置(參考 subcontrol-origin )。 示例: QSpinBox::down-button { bottom: 2px } |
|||||
| 在一個 QDialogButtonBox 或 QMessageBox 中的按鈕的布局。可選值是0 (WinLayout)、1 (MacLayout)、2 (KdeLayout)和3 (GnomeLayout)。 如果這個屬性沒有指定的話,則默認值是由當前風格中的SH_DialogButtonLayout風格提示來確定的。 示例: * { button-layout: 2 } |
|||||
| 用來渲染文字的顏色。 所有支持(respect)QWidget::palette的部件都支持這個屬性。 如果這個屬性沒有設置的話,則默認值是為這個部件的調色板設置的QWidget::foregroundRole 的值(通常是黑色)。 示例: QPushButton { color: red } 參考 background 和 selection-color 。
|
|||||
| dialogbuttonbox-buttons-have-icons |
QDialogButtonBox 中的按鈕是否要顯示圖標。 如果這個屬性設置為1,則 QDialogButtonBox 中的按鈕顯示圖標;如果設置為0,則不顯示圖標。 參考List of Icons (圖標列表)小節以了解如何設置圖標。 QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; } 注意:定義咯這個屬性的樣式必須在 QDialogButtonBox 被創建之前就應用;也就是說妳必須將樣式應用到它的親代部件或者直接應用到程序本身。 |
||||
| 用來設置文字的字體的省寫方式。等價於設置font-family、font-size、font-style和/或font-weight。 所有支持QWidget::font的部件都支持這個屬性。 如果沒有設置,則默認值是QWidget::font。 示例: QCheckBox { font: bold italic large "Times New Roman" } |
|||||
| font-family |
String |
字體族(family)。 示例: QCheckBox { font-family: "New Century Schoolbook" } |
|||
| font-size |
字體大小。在這個版本的Qt 中,只支持pt 和px 單位。 示例: QTextEdit { font-size: 12px } |
||||
| font-style |
字體風格。 示例: QTextEdit { font-style: italic }
|
||||
| font-weight |
字體的重量(weight)。 |
||||
| 在 QTableView 中的網格線的顏色。 如果沒有設置的話,則默認值是當前風格中為SH_Table_GridLineColor樣式提示指定的值。 示例: * { gridline-color: gray } |
|||||
| 一個子控件( subcontrol )(在某些情況下,是部件)的高度。 如果這個屬性沒有設置,則默認值取決於子控件/部件本身及當前的風格。 警告:除非另有說明,否則這個屬性對部件無效。如果妳想要某個部件擁有固定的高度,則將 min-height 和 max-height 設置成同一個值。 示例: QSpinBox::down-button { height: 10px } 參考 width 。 |
|||||
| 某個部件中的圖標的寬度和高度。 以下部件的圖標尺寸可使用這個屬性來設置。 |
|||||
| Url + |
被繪制到一個子控件( subcontrol )的內容區域的圖片。 image(圖片)屬性接受一組 Url (統一資源定位器)或一個svg(可縮放矢量圖)。實際繪制的圖片是由與 QIcon相同的算法來確定的,(也就是說)圖片絕不會被放大但必要的時候一定會縮小。如果指定咯一個svg,則圖片會縮放到內容區域的大小。 在子控件上設置圖片會隱式地設置那個子控件的寬度和高度(除非圖片是一個SVG)。 在Qt 4.3 和以后的版本中,可使用 image-position 來指定圖片在矩形區域中的對齊方式。 這個屬性是只為子控件( subcontrol )設計的--我們不在其它元素中支持它。 警告:需要有QIcon SVG 插件才能渲染SVG 圖片。 示例: /* 隱式地將down-button 的大小設置成spindown.png 的大小 */ QSpinBox::down-button { image: url(:/images/spindown.png) } |
||||
| 在Qt 4.3 及以后的版本中,圖片的位置可使用相對定位和絕對定位來設置。 |
|||||
| 如果 position (位置)是relative(相對的)(默認值),則將某個 subcontrol (子控件)向右移動一定距離。 如果 position 是absolute(絕對的),則left屬性指定的是這個子控件的左邊線與親代部件的左邊線的相對位置(參考 subcontrol-origin )。 如果沒有設置,則默認值是0。 示例: QSpinBox::down-button { left: 2px } |
|||||
| 以Unicode(統一碼)指定的 QLineEdit 密碼字符。 如果這個屬性沒有設置,則默認值是由當前風格中的SH_LineEdit_PasswordCharacter樣式提示確定的。 示例: * { lineedit-password-character: 9679 } |
|||||
| 部件的邊距(margins)。等價於指定margin-top、margin-right、margin-bottom和margin-left。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 如果沒有設置的話,默認為0。 示例: QLineEdit { margin: 2px } |
|||||
| margin-top |
部件的頂部邊距。 |
||||
| margin-right |
部件的右側邊距。 |
||||
| margin-bottom |
部件的底部邊距。 |
||||
| margin-left |
部件的左側邊距。 |
||||
| 這個部件或者其子控件的最大高度。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 這個值是相對於盒狀模型中的內容區域的。 示例: QSpinBox { max-height: 24px } 參考 max-width 。 |
|||||
| 這個部件或者其子控件的最大寬度。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 這個值是相對於盒狀模型中的內容區域的。 示例: QComboBox { max-width: 72px } 參考 max-height 。 |
|||||
| messagebox-text-interaction-flags* |
在消息框中的文字的交互行為。可能取的值取決於Qt::TextInteractionFlags。 如果屬性沒有設置的話,則默認值是由當前風格中的SH_MessageBox_TextInteractionFlags樣式提示確定的。 示例: QMessageBox { messagebox-text-interaction-flags: 5 } |
||||
| 這個部件或者其子控件的最小高度。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 如果這個屬性沒有指定的話,則最小高度是基於這個部件的內容和樣式來繼承的。 這個值是相對於盒狀模型中的內容區域的。 示例: QComboBox { min-height: 24px } 參考 min-width 。 |
|||||
| 這個部件或者其子控件的最小寬度。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、Q LineEdit、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 如果這個屬性沒有指定的話,則最小寬度是基於這個部件的內容和樣式來繼承的。 這個值是相對於盒狀模型中的內容區域的。 示例: QComboBox { min-width: 72px } 參考 min-height 。 |
|||||
| 某個部件的透明度。取值范圍從0 (透明)到255 (不透明)。當前只被工具提示( tooltips )支持。 如果這個屬性沒有設置,則默認值由當前風格中的SH_ToolTipLabel_Opacity樣式提示確定。 示例: QToolTip { opacity: 223 } |
|||||
| 這個部件的填充寬度(padding)。等價於設置padding-top、padding-right、padding-bottom和padding-left。 這個屬性被 QAbstractItemView 子類、 QAbstractSpinBox 子類、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 如果沒有設置的話,默認為0。 示例: QLineEdit { padding: 3px } |
|||||
| padding-top |
這個部件的頂部填充距離。 |
||||
| padding-right |
這個部件的右側填充距離。 |
||||
| padding-bottom |
這個部件的底部填充距離。 |
||||
| padding-left |
這個部件的左側填充距離。 |
||||
| paint-alternating-row-colors-for-empty-area |
bool |
QTreeView 是否要為空白區域(沒有條目的區域)繪制交替行顏色 |
|||
| relative |
用 left 、 right 、 top 和 bottom 指定的偏移值是相對的還是絕對的坐標。 如果沒有設置,則默認值是relative。 |
||||
| 如果 position (位置)是relative(相對的)(默認值),則將某個 subcontrol (子控件)向左移動一定距離;在那種情況下,指定right: x 就等價於指定 left : - x 。 如果 position 是absolute(絕對的),則right屬性指定的是這個子控件的右邊線相對於親代部件的右邊線的位置(參考 subcontrol-origin )。 示例: QSpinBox::down-button { right: 2px } |
|||||
| 選中的文字或條目的背景。 所有支持QWidget::palette並且顯示選中文字的部件都支持這個屬性。如果沒有設置,則默認值是為調色板的Highlight角色設置的值。 示例: QTextEdit { selection- font-size: 12pt; font-family: "Liberation Serif"; text-indent: 0cm;">參考 selection-color 和 background 。 |
|||||
| 選中的文字或條目的前景。 所有支持QWidget::palette並且顯示選中文字的部件都支持這個屬性。 如果沒有設置,則默認值是為調色板的HighlightedText角色設置的值。 示例: QTextEdit { selection-color: white } 參考 selection-background-color 和 color 。 |
|||||
| 控制的是在一個 QListView 中的選中區域是要覆蓋整個行還是只覆蓋文字的區域。 如果沒有設置,則默認值是由當前風格中的SH_ItemView_ShowDecorationSelected樣式提示確定的。 示例: * { show-decoration-selected: 1 } |
|||||
| 這個部件內部的間隔(spacing)。 這個屬性被 QCheckBox 、可選中的 QGroupBox 、 QMenuBar 和 QRadioButton 支持。 如果沒有指定,則默認值取決於部件本身及當前風格。 示例: QMenuBar { spacing: 10 } |
|||||
| 這個 subcontrol (子控件)在親代元素中的根源(origin)矩形。 如果沒有指定,則默認值為padding。 示例: QSpinBox::up-button { image: url(:/images/spinup.png); subcontrol-origin: content; subcontrol-position: right top; } 參考 subcontrol-position 。
|
|||||
| 這個子控件( subcontrol )在由 subcontrol-origin 確定的根源矩形中的對齊方式。 如果沒有設置的話,則默認值取決於子控件本身。 示例: QSpinBox::down-button { image: url(:/images/spindown.png); subcontrol-origin: padding; subcontrol-position: right bottom; } 參考 subcontrol-origin 。 |
|||||
| 文字和圖標在這個部件的內容中的對齊方式。 如果沒有設置的話,則默認值取決於原生(native)風格。 示例: QPushButton { text-align: left; } 當前只有 QPushButton 和 QProgressBar 支持這個屬性。 |
|||||
| text-decoration |
none |
附加的文字效果 |
|||
| 如果 position 是relative(相對的)(默認值),則將一個 subcontrol (子控件)向下移動指定距離。 如果 position 是absolute(絕對的),則top屬性指定的是這個子控件的頂部邊線相對於親代部件的頂部邊線的位置(參考 subcontrol-origin )。 如果沒有設置的話,則默認值是0。 示例: QSpinBox::up-button { top: 2px } |
|||||
| 一個 subcontrol (子控件)(或者在某些情況下會是部件)的寬度。 如果沒有設置的話,則默認值取決於子控件/部件本身及當前的風格。 警告:除非另外說明,否則這個屬性對於部件無效。如果妳想讓某個部件具有固定的寬度,則將 min-width 和 max-width 設置成相同的值。 示例: QSpinBox::up-button { width: 12px } 參考 height 。 |
圖標列表
在Qt 中使用的圖標可使用以下屬性來進行自定義。這個小節中列出的每個屬性的類型都是 Icon 。
注意,要想讓 QDialogButtonBox 中的按鈕里出現圖標的話,妳需要將dialogbuttonbox-buttons-have-icons 屬性設置成true(真)。並且,要對圖標的尺寸進行自定義的話,則使用icon-size 屬性。
| 名字 |
QStyle::StandardPixmap |
| backward-icon |
QStyle::SP_ArrowBack |
| cd-icon |
QStyle::SP_DriveCDIcon |
| computer-icon |
QStyle::SP_ComputerIcon |
| desktop-icon |
QStyle::SP_DesktopIcon |
| dialog-apply-icon |
QStyle::SP_DialogApplyButton |
| dialog-cancel-icon |
QStyle::SP_DialogCancelButton |
| dialog-close-icon |
QStyle::SP_DialogCloseButton |
| dialog-discard-icon |
QStyle::SP_DialogDiscardButton |
| dialog-help-icon |
QStyle::SP_DialogHelpButton |
| dialog-no-icon |
QStyle::SP_DialogNoButton |
| dialog-ok-icon |
QStyle::SP_DialogOkButton |
| dialog-open-icon |
QStyle::SP_DialogOpenButton |
| dialog-reset-icon |
QStyle::SP_DialogResetButton |
| dialog-save-icon |
QStyle::SP_DialogSaveButton |
| dialog-yes-icon |
QStyle::SP_DialogYesButton |
| directory-closed-icon |
QStyle::SP_DirClosedIcon |
| directory-icon |
QStyle::SP_DirIcon |
| directory-link-icon |
QStyle::SP_DirLinkIcon |
| directory-open-icon |
QStyle::SP_DirOpenIcon |
| dockwidget-close-icon |
QStyle::SP_DockWidgetCloseButton |
| downarrow-icon |
QStyle::SP_ArrowDown |
| dvd-icon |
QStyle::SP_DriveDVDIcon |
| file-icon |
QStyle::SP_FileIcon |
| file-link-icon |
QStyle::SP_FileLinkIcon |
| filedialog-contentsview-icon |
QStyle::SP_FileDialogContentsView |
| filedialog-detailedview-icon |
QStyle::SP_FileDialogDetailedView |
| filedialog-end-icon |
QStyle::SP_FileDialogEnd |
| filedialog-infoview-icon |
QStyle::SP_FileDialogInfoView |
| filedialog-listview-icon |
QStyle::SP_FileDialogListView |
| filedialog-new-directory-icon |
QStyle::SP_FileDialogNewFolder |
| filedialog-parent-directory-icon |
QStyle::SP_FileDialogToParent |
| filedialog-start-icon |
QStyle::SP_FileDialogStart |
| floppy-icon |
QStyle::SP_DriveFDIcon |
| forward-icon |
QStyle::SP_ArrowForward |
| harddisk-icon |
QStyle::SP_DriveHDIcon |
| home-icon |
QStyle::SP_DirHomeIcon |
| leftarrow-icon |
QStyle::SP_ArrowLeft |
| messagebox-critical-icon |
QStyle::SP_MessageBoxCritical |
| messagebox-information-icon |
QStyle::SP_MessageBoxInformation |
| messagebox-question-icon |
QStyle::SP_MessageBoxQuestion |
| messagebox-warning-icon |
QStyle::SP_MessageBoxWarning |
| network-icon |
QStyle::SP_DriveNetIcon |
| rightarrow-icon |
QStyle::SP_ArrowRight |
| titlebar-contexthelp-icon |
QStyle::SP_TitleBarContextHelpButton |
| titlebar-maximize-icon |
QStyle::SP_TitleBarMaxButton |
| titlebar-menu-icon |
QStyle::SP_TitleBarMenuButton |
| titlebar-minimize-icon |
QStyle::SP_TitleBarMinButton |
| titlebar-normal-icon |
QStyle::SP_TitleBarNormalButton |
| titlebar-shade-icon |
QStyle::SP_TitleBarShadeButton |
| titlebar-unshade-icon |
QStyle::SP_TitleBarUnshadeButton |
| trash-icon |
QStyle::SP_TrashIcon |
| uparrow-icon |
QStyle::SP_ArrowUp |
屬性類型列表
下面的表格總結咯不同屬性類型的語法和意義。
| 類型 |
語法 |
說明 |
| { top |
水平和/或豎直方向的對齊方式。 示例: QTextEdit { background-position: bottom center } |
|
| { scroll |
背景圖片隨內容滾動或固定不動。 |
|
| 0 | 1 |
True(真) (1)或false(假) (0)。 示例: QDialog { etch-disabled-text: 1 } |
|
| { Border Style |
邊框屬性的省寫方式。 |
|
| 邊框圖片是一個由9部分(左上、中上、右上、左中、中、右中、左下、中下、右下)構成的圖片。在需要一個特定尺寸的邊框時,邊角部分按原樣使用,而頂部、右側、底部和左側的部分則會被拉伸或重復以達到想要的尺寸。 參考 CSS3草稿規范 以了解細節。
|
||
| dashed |
指定用來繪制邊框的模式。參考 CSS3草稿規范 以了解細節。 |
|
| Brush {1,4} |
1至4個 Brush ,分別指定某個盒子的頂部、右側、底部和左側邊線。如果左側邊線顏色沒有指定的話,則與右側邊線相同。如果底部邊線顏色沒有指定的話,則與頂部邊線相同。如果右側邊線顏色沒有指定的話,則與頂部邊線相同。 示例: QLabel { border-color: red } /* red red red red */ QLabel { border-color: red blue } /* red blue red blue */ QLabel { border-color: red blue green } /* red blue green blue */ QLabel { border-color: red blue green yellow } /* red blue green yellow */ |
|
| Length {1,4} |
1至4個 Length ,分別指定某個盒子的頂部、右側、底部和左側邊線。如果左側邊線長度沒有指定的話,則與右側邊線相同。如果底部邊線長度沒有指定的話,則與頂部邊線相同。如果右側邊線長度沒有指定的話,則與頂部邊線相同。 Examples: QLabel { border-width: 1px } /* 1px 1px 1px 1px */ QLabel { border-width: 1px 2px } /* 1px 2px 1px 2px */ QLabel { border-width: 1px 2px 3px } /* 1px 2px 3px 2px */ QLabel { border-width: 1px 2px 3px 4px } /* 1px 2px 3px 4px */ |
|
| Color |
指定一個顏色或一個漸變或調色板中的一個條目。
|
|
| rgb( r , g , b ) |
采用RGB (紅、綠、藍)或RGBA (紅、綠、藍、透明度(alpha))或HSV (色調、飽和度、值)或HSVA (色調、飽和度、值 、透明度)或命名顏色來指定一個顏色。 rgb()或rgba()語法可使用0 到255 的整數或百分比。hsv()或hsva()中的s、v 和a 的值必須在0-255 范圍內;h 的值必須在 0-359 的范圍。 示例: QLabel { border-color: red } /* opaque red */ QLabel { border-color: #FF0000 } /* opaque red */ QLabel { border-color: rgba(255, 0, 0, 75%) } /* 75% opaque red */ QLabel { border-color: rgb(255, 0, 0) } /* opaque red */ QLabel { border-color: rgb(100%, 0%, 0%) } /* opaque red */ QLabel { border-color: hsv(60, 255, 255) } /* opaque yellow */ QLabel { border-color: hsva(240, 255, 255, 75%) } /* 75% blue */ 注意:所允許的RGB 顏色與CSS 2.1 中允許的顏色相同,在 這里 列出。
|
|
| ( Font Style | Font Weight ){0,2} Font Size String |
省寫的字體屬性。 |
|
| 某個字體的尺寸。 |
||
| normal |
某個字體的風格。 |
|
| normal |
某個字體的重量。 |
|
| qlineargradient |
指定漸變填充方式。有3種漸變填充方式:
漸變是以對象邊界模式(Object Bounding Mode)指定的。想象一下一個盒子,漸變就是在這個盒子中渲染的,它的左上角是(0, 0),右下角是(1, 1)。然后,漸變參數就是以從0 到1 的百分比的方式指定的。這些值會在運行時映射(extrapolated)到實際的盒子坐標。可以指定位於盒子邊界以外的值(比如說-0.6或1.8)。 警告:結束點必須以遞增的順序排列。 示例: /* 從白色到綠色的線性漸變 */ QTextEdit { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 white, stop: 0.4 gray, stop:1 green) }
/* 從白色到綠色的線性漸變 */ QTextEdit { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 white, stop: 0.4 rgba(10, 20, 30, 40), stop:1 rgb(0, 200, 230, 200)) }
/* 從白色到綠色的圓錐漸變 */ QTextEdit { background: qconicalgradient(cx:0.5, cy:0.5, angle:30, stop:0 white, stop:1 #00FF00) }
/* 從白色到綠色的放射漸變 */ QTextEdit { background: qradialgradient(cx:0, cy:0, radius: 1, fx:0.5, fy:0.5, stop:0 white, stop:1 green) } |
|
| ( Url (disabled |active | normal |selected)? (on |off)? )* |
由url、QIcon::Mode和QIcon::State組成的列表。 示例: * { file-icon: url(file.png), url(file_selected.png) selected; }
QMessageBox { dialogbuttonbox-buttons-have-icons: true; dialog-ok-icon: url(ok.svg); dialog-cancel-icon: url(cancel.png), url(grayed_cancel.png) disabled; } |
|
| Number (px | pt |em | ex)? |
一個數字加上一個單位。CSS 標准建議瀏覽器必須忽略 對無效值的聲明。在Qt 中,指定單位是強制性(mandatory)的。為咯兼容早期版本的Qt,不帶單位的數字在大部分情況下都會被當成以像素(pixels)為單位。支持的單位包括:
|
|
| 一個10進制整數或一個實數 |
示例:0、18、+127、-255、12.34、-.5, 0009。 |
|
| margin |
指明要使用4個矩形中的哪一個。
參考盒狀模型。 |
|
| alternate-base |
這些值對應於當前部件的 QPalette (調色板)中的Color roles(顏色角色)。 示例, QPushButton { color: palette(dark); }
|
|
| Length {1, 2} |
1至2個 Length 。如果只指定1個的話,則這個值會被用作邊角處的四分之一圓的半徑。如果指定咯2個的話,則第一個會被用作一個四分之一橢圓的水平半徑,第二個會被用作豎直半徑。 |
|
| repeat-x |
這個值用來指示重復模式。
|
|
| url( filename ) |
filename 指的是本地磁盤上或是使用 Qt資源系統儲存的一個文件的名字。設置一個圖片的話,會隱式地設置那個元素的寬度和高度。 |
偽狀態列表
支持以下偽狀態:
| 偽狀態 |
說明 |
| 當這個部件位於一個活躍窗口中時,就處於這種狀態。 |
|
| 當QAbstractItemView::alternatingRowColors()被設置成true(真)時,在繪制 QAbstractItemView 的行時,每個交替行都具有這個狀態。 |
|
| 這個條目位於底部。比如,某個 QTabBar ,它的標簽位於底部。 |
|
| 這個條目被選中。比如, QAbstractButton 的checked(選中)狀態。 |
|
| 這個條目可被關閉。比如,某個 QDockWidget ,它的QDockWidget::DockWidgetClosable特性被開啟。 |
|
| 這個條目處於關閉狀態。比如,在一個 QTreeView 中的某個處於折疊(non-expanded)狀態的條目 |
|
| 這個條目是默認的。比如,一個默認(default)的按鈕(QPushButton ),或者一個菜單( QMenu )中的默認動作。 |
|
| 這個條目被禁用(disabled)。 |
|
| 這個組合框( QComboBox )可被編輯。 |
|
| 這個條目擁有編輯焦點(參考QStyle::State_HasEditFocus)。這個狀態只在Qt Extended 程序中有效。 |
|
| 這個條目處於啟用(enabled)狀態。 |
|
| 這個條目是一個互斥的條目組中的一個。比如,在一個互斥的QActionGroup 中的一個菜單條目。 |
|
| 這個條目是(一個列表中的)第一個。比如,一個 QTabBar 中的第一個標簽。 |
|
| 這個條目是平的(flat)。比如,一個平的(flat)按鈕(QPushButton )。 |
|
| 這個條目可浮動。比如,一個 QDockWidget ,它的QDockWidget::DockWidgetFloatable特性被開啟。 |
|
| 這個條目擁有輸入焦點(input focus)。 |
|
| 這個條目擁有子代對象。比如,在一個 QTreeView 中,擁有子代條目的條目。 |
|
| 這個條目擁有兄弟姐妹(siblings)。比如,在一個 QTreeView中,擁有兄弟姐妹的條目。 |
|
| 這個條目是水平的。 |
|
| 鼠標正懸停於這個條目之上。 |
|
| 這個條目具有不確定狀態。比如,一個被部分選中(partially checked)的 QCheckBox 或 QRadioButton 。 |
|
| 這個條目是(一個列表中的)最后一個。比如,一個 QTabBar 中的最后一個標簽。 |
|
| 這個條目被放置在左邊。比如,一個 QTabBar ,它的標簽放置在左邊。
|
|
| 這個條目被最大化。比如,一個最大化的 QMdiSubWindow 。 |
|
| 這個條目(在一個列表中)位於中間。比如,在一個 QTabBar中,某個既不在開關也不在末尾的標簽。 |
|
| 這個條目被最小化。比如,一個最小化的 QMdiSubWindow 。 |
|
| 這個條目可到處移動。比如,某個 QDockWidget ,它的QDockWidget::DockWidgetMovable特性被開啟。 |
|
| 這個條目是某個非互斥的條目組中的一個。比如,在某個非互斥的 QActionGroup 中的一個菜單條目。 |
|
| 對於可被切換的條目來說,這個對應着它的“關閉”("off")狀態。 |
|
| 對於可被切換的條目來說,這個對應着它的“開啟”("on")狀態。 |
|
| 這個條目是(某個列表中)唯一的一個。比如,某個 QTabBar 中唯一的一個標簽。 |
|
| 這個條目處於打開(open)狀態。比如,在一個 QTreeView 中的某個已展開(expanded)的條目,或帶有一個已打開的菜單的一個 QComboBox 或 QPushButton 。 |
|
| (列表中的)下一個條目被選中。比如,在一個 QTabBar 中的選中標簽是當前這個標簽的下一個。 |
|
| 這個條目正被鼠標按下。 |
|
| (列表中的)上一個條目被選中。比如,在某個 QTabBar 中,位於當前選中的標簽的下一個的標簽。 |
|
| 這個條目被放置在右邊。比如,某個 QTabBar ,它將其標簽放置在右邊。 |
|
| 這個條目被放置在頂部。比如,某個 QTabBar ,它將其標簽放置在頂部。 |
|
| 這個條目處於未選中狀態(unchecked)。 |
|
| 這個條目是豎直的。 |
|
| 這個部件是一個窗口(也就是說,頂級部件)。 |
子控件列表
以下子控件是可用的:
| 子控件 |
說明 |
| 用來為 QScrollBar 增加一行的按鈕。 |
|
| 在一個 QScrollBar 中滑塊(handle)(slider)與 add-line(加一行)之間的區域。 |
|
| QTreeView 的分支指示器。 |
|
| QProgressBar 的進度塊。 |
|
| 一個 QDockWidget 的或者一個 QTabBar 中的標簽的關閉按鈕。 |
|
| 在一個 QAbstractScrollArea 中的兩個滾動條之間的邊角。 |
|
| QComboBox 、 QHeaderView (排序指示器)、 QScrollBar 或QSpinBox 的向下箭頭。 |
|
| QScrollBar 或 QSpinBox 的向下按鈕。 |
|
| QComboBox 的下拉按鈕。 |
|
| QDockWidget 的浮動(float)按鈕。 |
|
| QSlider 的滑動槽。 |
|
| QAbstractItemView 、 QCheckBox 、 QRadioButton 、可選中的QMenu 條目或可選中的 QGroupBox 的指示器。 |
|
| QScrollBar 、 QSplitter 或 QSlider 的滑塊(handle)(slider)。 |
|
| QAbstractItemView 或 QMenu 的圖標。 |
|
| QAbstractItemView 、 QMenuBar 、 QMenu 或 QStatusBar 中的一個條目。 |
|
| QScrollBar 的左箭頭。 |
|
| QTabWidget 的左側邊角。比如,這個控件可用來控制某個QTabWidget 中的左側邊角部件的位置。 |
|
| 一個帶有菜單的 QToolButton 的箭頭。 |
|
| QToolButton 的菜單按鈕。 |
|
| QPushButton 的菜單指示器。 |
|
| QMenu 或 QScrollBar 的右側箭頭。 |
|
| QTabWidget 的方框(pane)(frame)。 |
|
| QTabWidget 的右側邊角。比如,這個控件可用來控制某個QTabWidget 中的右側邊角部件的位置。 |
|
| QHeaderView 的一個區段(section)。 |
|
| QMenu (菜單)的分隔符,或一個 QMainWindow (主窗口)中的分隔符。 |
|
| QScrollBar 中用來減一行的按鈕。 |
|
| 在一個 QScrollBar 中位於滑塊(handle)(slider)與 sub-line (減一行按鈕)之間的區域。 |
|
| QTabWidget 的標簽條。這個子控件僅用來控制 QTabBar 在QTabWidget 內部的位置。要設置其樣式,則使用 ::tab 子控件。 |
|
| QTabBar 的離合(tear)指示器。 |
|
| QMenu 的離合(tear-off)指示器。 |
|
| QAbstractItemView 的文字。 |
|
| QGroupBox 或 QDockWidget 的標題。 |
|
| QHeaderView (排序指示器)、 QScrollBar 或 QSpinBox 的向上箭頭。 |
|
| QSpinBox 的向上按鈕。 |
參考 自定義QPushButton的菜單指示器子控件 示例以了解如何對子控件進行自定義。
http://stupidbeauty.com/Blog/article/1352/Qt4.7%E6%96%87%E6%A1%A3%E7%BF%BB%E8%AF%91%EF%BC%9AQt%E6%A0%B7%E5%BC%8F%E5%8D%95%E5%8F%82%E8%80%83,Qt%20Style%20Sheets%20Reference
