我已在我的 python 应用程序中成功使用以下 Qt 代码为具有不同背景颜色的 QTableWidget 中的水平标题着色:
header2 = widget.horizontalHeaderItem(2)
purple = QColor(139,103,153)
header2.setBackground(QtGui.QBrush(purple))
header3 = widget.horizontalHeaderItem(3)
orange = QColor(237,168,89)
header3.setBackground(QtGui.QBrush(orange))
但是,在我的现有应用程序的 C++ Qt 插件中,等效逻辑不适用于 QTableWidget 水平标题,但适用于表格单元格或 QTableWidgetItem。
C++ 应用程序有自己的风格,带有深色主题。如果我用 plastique 替换样式,那么我的代码就可以工作。
QApplication::setStyle("plastique");
但是,这不是一个可接受的解决方案,因为它会改变整个应用程序的外观。
我已经在 web 和 stackoverflow 上搜索了一个解决方案,这篇文章似乎很相关。它似乎是 QHeaderView 的子类化,但实现对我来说有点先进。不幸的是,上面的帖子并不能解决我的问题。
我在正确的轨道上吗?有人可以提供有关 .h 和 .cpp 以及 main() 实现的更多细节吗?