Как с помощью QSS покрасить выбранный в QTableWidget столбец?

Пытаюсь сделать стиль с помощью QSS так, чтобы по нажатии на столбец выделялась цветом только секция, на которую кликнул пользователь, а по нажатии на строчку заголовки не выделялись жирным. Любые попытки это изменить (или изменить стили) приводили просто к потере даже системного стандартного выделения.

С hover получилось отлично, а вот selected не получается реализовать. background-color для QHeaderView::section:selected || QHeaderView::item:selected не помогает. Также не работает и просто selection-background-color для секции или хедера отдельно.

Возможно ли вообще так покрасить головную ячейку и одновременно отменить выделение жирным заголовков?

На скрине пример работы - нажал на столбец, фильтрация прошла, но сама секция не выделилась цветом. Справа от неё всё в порядке: навёл мышкой - загорелась секция фиолетовым.

На столбец 1 нажали, на столбец 3 навели мышкой

main.py

import sys

from PyQt5 import QtWidgets


from ui import untitled

class MainWindow(QtWidgets.QMainWindow, untitled.Ui_Form):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Form')
        


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    app.exec_()

untitled.py (конвертировал из .ui в .py)

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(702, 320)
        self.tableWidget = QtWidgets.QTableWidget(Form)
        self.tableWidget.setGeometry(QtCore.QRect(220, 60, 321, 151))
        self.tableWidget.setStyleSheet("QHeaderView\n"
"{    \n"
"    border: 0px;\n"
"    font-size: 14px;\n"
"}\n"
"\n"
"QHeaderView::section\n"
"{\n"
"    min-width: 10px;    \n"
"    min-height: 25px;\n"
"    border: 0px solid;\n"
"}\n"
"\n"
"QHeaderView::section:hover {\n"
"   color: white;\n"
"    background-color: purple;\n"
"}\n"
"QHeaderView::section:selected{\n"
"   color: white;\n"
"    background-color: green;\n"
"}      \n"
"\n"
"")
        self.tableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
        self.tableWidget.setShowGrid(True)
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(3)
        self.tableWidget.setRowCount(2)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(0, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(0, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(0, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(1, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(1, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setItem(1, 2, item)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.tableWidget.setSortingEnabled(True)
        item = self.tableWidget.verticalHeaderItem(0)
        item.setText(_translate("Form", "1"))
        item = self.tableWidget.verticalHeaderItem(1)
        item.setText(_translate("Form", "2"))
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("Form", "New Column"))
        item = self.tableWidget.horizontalHeaderItem(1)
        item.setText(_translate("Form", "1"))
        item = self.tableWidget.horizontalHeaderItem(2)
        item.setText(_translate("Form", "3"))
        __sortingEnabled = self.tableWidget.isSortingEnabled()
        self.tableWidget.setSortingEnabled(False)
        item = self.tableWidget.item(0, 0)
        item.setText(_translate("Form", "wwerq"))
        item = self.tableWidget.item(0, 1)
        item.setText(_translate("Form", "qwerqwer"))
        item = self.tableWidget.item(0, 2)
        item.setText(_translate("Form", "qwerqwre"))
        item = self.tableWidget.item(1, 0)
        item.setText(_translate("Form", "qwerqwer"))
        item = self.tableWidget.item(1, 1)
        item.setText(_translate("Form", "qwerqwe"))
        item = self.tableWidget.item(1, 2)
        item.setText(_translate("Form", "qwer"))
        self.tableWidget.setSortingEnabled(__sortingEnabled)


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

Ответы (0 шт):