簡體   English   中英

QTableView 小部件的 Qt 樣式表中有哪些可用選項?

[英]What are the options available within a Qt Stylesheet for a QTableView widget?

我一直在尋找有關 Qt 小部件(特別是 QTableView 小部件)樣式表的詳細文檔。 以下是我發現的一些有用(盡管不完整)的資源:

  1. https://doc.qt.io/qt-5/stylesheet-reference.html
  2. QTableView/QTableWidget 網格樣式表 - 網格線寬
  3. 如何為 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);
 }

這是我仍然無法用樣式表完成的:

  1. 我想在分組選擇單元格時更改它們的顏色。
  2. 這個樣式表隱藏了我桌子上的“行”
  3. 我也想編輯行的樣式表。

在這里您可以看到在組中選擇時的單元格行為: 在此處輸入圖像描述 我希望藍色單元格與粉紅色輪廓單元格的樣式相匹配。

QTableView 小部件有哪些選項? 我嘗試過 QTableView::rows、QTableView::selection 和許多其他方法,但都沒有成功。

處理 QSS( Qt 樣式表)時要考慮的一個重要方面是,在復雜小部件上設置任何屬性時,必須設置所有其他基本屬性。

該文檔清楚地說明了“常見”小部件(如 QComboBox 或 QScrollBar),但沒有說明更多有問題的小部件的屬性,如 QHeaderView(負責顯示行或列的部分標題的小部件)。

最重要的是,必須同時設置嚴格相關的屬性,如widthheight並非所有小部件都支持)。

如果您想為樣式表中的 header 部分設置特定高度,您也必須設置寬度。

QHeaderView::section {
    background-color: rgb(71, 153, 176);
    color: white;
    height: 35px;
    width: 150px; 
    font: 14px;
}

不幸的是,使用 QSS 設置大小有兩個缺點:

  • 大小是固定的,基於“像素”大小;
  • 文本省略被自動禁用(至少使用 QHeaderView 和普通樣式);

這給我們帶來了一個重要的方面:樣式表必須小心使用(並且意識到這一點的唯一方法是經驗和研究源代碼)。 幾乎總是不鼓勵在樣式表中設置顯式大小,尤其是當這些大小處理文本顯示時。 如果要為 header 設置默認尺寸,則應改用setDefaultSectionSize()


最后,即使問題已由 OP 解決,我也會添加以下內容以清楚起見。
可以通過兩種不同的方式設置項目視圖的選擇 colors:

  1. 設置::item偽選擇器顏色:

     QTableView::item:selected { background-color: rgb(242, 128, 133); }

    以上將設置項目的背景並完全覆蓋樣式繪制行為(取決於樣式),包括基於調色板的任何進一步的“花式”繪制。 簡而言之,它可能是背景色。

  2. 設置項目視圖選擇器和selection-background-color屬性:

     QTableView {... selection-background-color: rgb(242, 128, 133); }

    上面將設置表格Highlight調色板角色,然后將恢復為默認樣式繪畫,提供該樣式使用的任何“花式”繪畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM