[英]What are the options available within a Qt Stylesheet for a QTableView widget?
我一直在尋找有關 Qt 小部件(特別是 QTableView 小部件)樣式表的詳細文檔。 以下是我發現的一些有用(盡管不完整)的資源:
我只是想獲取 QTableView 樣式表選項的詳細(完整)列表。 這個文檔在哪里? 似乎很奇怪,我必須從 web 中獲取一些信息來拼湊一個完整的樣式表。
這是我現在正在使用的樣式表的示例:
QTableView {
color: black;
gridline-color: black;
border-color: rgb(242, 128, 133);
font: 10px;
}
QHeaderView::section {
background-color: rgb(71, 153, 176);
color: white;
height: 35px;
font: 14px;
}
QTableView::item:focus{
border: 2px solid rgb(242, 128, 133);
background-color: rgb(255, 254, 229);
}
QScrollBar:vertical {
background: rgb(188, 224, 235);
}
QScrollBar::handle:vertical {
background: rgb(71, 153, 176);
}
QScrollBar:horizontal {
background: rgb(188, 224, 235);
}
QScrollBar::handle:horizontal {
background: rgb(71, 153, 176);
}
這是我仍然無法用樣式表完成的:
在這里您可以看到在組中選擇時的單元格行為: 我希望藍色單元格與粉紅色輪廓單元格的樣式相匹配。
QTableView 小部件有哪些選項? 我嘗試過 QTableView::rows、QTableView::selection 和許多其他方法,但都沒有成功。
處理 QSS( Qt 樣式表)時要考慮的一個重要方面是,在復雜小部件上設置任何屬性時,必須設置所有其他基本屬性。
該文檔清楚地說明了“常見”小部件(如 QComboBox 或 QScrollBar),但沒有說明更多有問題的小部件的屬性,如 QHeaderView(負責顯示行或列的部分標題的小部件)。
最重要的是,必須同時設置嚴格相關的屬性,如width
或height
(並非所有小部件都支持)。
如果您想為樣式表中的 header 部分設置特定高度,您也必須設置寬度。
QHeaderView::section {
background-color: rgb(71, 153, 176);
color: white;
height: 35px;
width: 150px;
font: 14px;
}
不幸的是,使用 QSS 設置大小有兩個缺點:
這給我們帶來了一個重要的方面:樣式表必須小心使用(並且意識到這一點的唯一方法是經驗和研究源代碼)。 幾乎總是不鼓勵在樣式表中設置顯式大小,尤其是當這些大小處理文本顯示時。 如果要為 header 設置默認尺寸,則應改用setDefaultSectionSize()
。
最后,即使問題已由 OP 解決,我也會添加以下內容以清楚起見。
可以通過兩種不同的方式設置項目視圖的選擇 colors:
設置::item
偽選擇器顏色:
QTableView::item:selected { background-color: rgb(242, 128, 133); }
以上將設置項目的背景並完全覆蓋樣式繪制行為(取決於樣式),包括基於調色板的任何進一步的“花式”繪制。 簡而言之,它可能是純背景色。
設置項目視圖選擇器和selection-background-color
屬性:
QTableView {... selection-background-color: rgb(242, 128, 133); }
上面將設置表格Highlight
調色板角色,然后將恢復為默認樣式繪畫,提供該樣式使用的任何“花式”繪畫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.