1

我正在尝试QTableWidgetItem在我的QTableWidget. 以下代码不适用于作为QTableWidgetItem垂直标题项的 a,即使相同的代码适用于作为QTableWidgetItem常规单元格的 a。

我在 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,但当它是常规单元格时,它会产生所需的影响。如何设置垂直标题项目的背景和前景?

4

2 回答 2

0

我认为您可以通过知道它是“AccessibleName”来轻松定位特定项目,您可以试试这个:

QTableWidgetItem#YourAccessibleName {

/* style definitions */

}
于 2013-05-31T16:11:50.757 回答
0

在问题中是否可以更改 QTableWidget 行标签的颜色?关于相同的主题,但对于 PyQt,我的解决方案是获取QTableWidgetItem垂直标题并在那里设置背景和前景,但是只有前景发生了变化,背景保持平滑的灰色渐变。可能样式覆盖/忽略了背景。指定不同的样式(例如 Cleanlooks)修复它。

所以在表格小部件的构造中添加类似的东西

QTableWidget::verticalHeader().setStyle(QStyleFactory::create("CleanLooks"))
于 2014-07-16T08:31:50.550 回答