如何更改QTreeView标题(也称为QHeaderView)的背景色?

2024-05-15 22:58:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试更改某些标题部分的背景色。有些将使用默认颜色,其他将得到不同的颜色。

HeaderView不像QTreeView那样接受委托;它自己完成所有的绘制工作。它使用两种方法来实现这一点--

我最初的尝试是尝试重写paintSection,让它绘制默认内容,然后添加我自己的内容。

def paintSection(self, painter, rect, logicalindex):
    QHeaderView.paintSection(self, painter, rect, logicalindex)
    painter.save()
    painter.fillRect(rect, QBrush(Qt.red))
    painter.restore()

这看起来没什么用。它不会绘制填充的矩形。如果我注释掉对基本paintSection方法的调用,它将绘制填充的rect,但不是非常一致(即单击并调整页眉的大小有时会导致它填充,而不是其他的)。

如有任何帮助,我们将不胜感激。


Tags: 方法rectself标题内容颜色绘制painter