Я успешно использовал следующий код Qt в своем приложении на Python для окрашивания горизонтальных заголовков в 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 ++ имеет свой собственный стиль с темной темой. Если я заменю стиль на пластик, тогда мой код работает.
QApplication::setStyle("plastique");
Однако это не является приемлемым решением, так как оно меняет внешний вид всего приложения.
Я искал в Интернете и stackoverflow для решения и эта почта кажется актуальным. Кажется, это подкласс QHeaderView, но реализация для меня немного продвинута. К сожалению, пост выше не решает работу в моем случае.
Я на правильном пути?
Может кто-нибудь предоставить немного больше информации о реализации .h и .cpp и main ()?
Задача ещё не решена.
Других решений пока нет …