如何为QTableWidget的每个标题列设置不同的背景颜色

时间:2017-11-03 15:20:33

标签: c++ qt subclassing qheaderview

我已经在我的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)) 

这就是它的样子: enter image description here

但是,在我的现有应用程序的C ++ Qt插件中,等效逻辑不适用于QTableWidget水平标题,但适用于表格单元格或QTableWidgetItem。

C ++应用程序拥有自己的黑暗主题风格。如果我用plastique替换样式,那么我的代码就可以了。

QApplication::setStyle("plastique"); 

但是,这不是一个可接受的解决方案,因为它会改变整个应用程序的外观。

我搜索了网络和stackoverflow以寻找解决方案,this post似乎相关。它似乎是继承QHeaderView的子类,但实现对我来说有点先进。不幸的是,上面的帖子并不能解决我的问题。

我是否在正确的轨道上? 有人可以提供有关.h和.cpp以及main()实现的更多细节吗?

0 个答案:

没有答案