簡體   English   中英

如何設置QTableWidget行垂直標題項的背景和前景色

[英]How to set background and foreground color of QTableWidget row Vertical Header Item

我試圖在QTableWidgetItem的一行中設置QTableWidget的背景和前景色,該顏色是Vertical Header Item。 以下代碼不適用於作為垂直標頭項的QTableWidgetItem ,即使相同的代碼對於作為常規單元格的QTableWidgetItem也可以正常工作。

我在Fedora 17 x64 Gnome 3.4上使用Qt 4.8

static const QBrush AddedCellBackground = Qt::yellow;
static const QBrush AddedCellForeground = Qt::red;

void rowSelected()
{
    QTableWidgetItem *vertHeadItem = _getSelectedItemVerticalHeader();
    vertHeadItem->setForeground( AddedCellForeground );
    vertHeadItem->setBackground( AddedCellBackground );
}

vertHeadItem是垂直標題項目時,此代碼不會發生任何變化,但當它是常規單元格時,它將具有所需的效果。 如何設置垂直標題項目的背景和前景?

我認為您可以通過知道它的“ AccessibleName”來輕松定位特定項目,可以嘗試以下操作:

QTableWidgetItem#YourAccessibleName {

/* style definitions */

}

問題中是否可以更改QTableWidget行標簽的顏色? 關於同一主題,但對於PyQt,我的解決方案是獲取垂直標頭的QTableWidgetItem並在此處設置背景和前景,但是僅更改前景,背景保持平滑的灰色漸變。 樣式可能覆蓋/忽略了背景。 指定其他樣式(例如,Cleanlooks)將其修復。

因此,在表格小部件的構造中添加類似內容

QTableWidget::verticalHeader().setStyle(QStyleFactory::create("CleanLooks"))

暫無
暫無

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

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