pyqt5 tabwidget guia vertical alinhamento horizontal do texto esquerdo

Como o pyqt não tem texto horizontal na opção de guia vertical, segui esteligação fazer acontecer. Eu queria ter ícones à esquerda e, em seguida, texto após ícone e cores diferentes para o texto da guia selecionada, o texto das guias inativas. O código abaixo faz quase isso. O único problema é o alinhamento do texto no centro. Eu tentei mudar tabRect.center (), mas alterá-lo com esquerda e superior ou direita etc está fazendo falhar.

O código comentado que recebi deesse linkme deixa alinhado à esquerda, mas não tinha ícones que adicionei. Mas nisso eu sou incapaz de alterar a cor do texto das guias inativas.

Eu sou novo no python e não consigo encontrar uma solução para isso. Eu tentei isso tambémligação mas isso define apenas a cor do plano de fundo. tentei usar essa opção tambémLink setTabTextColor mas não funcionou por algum motivo. tentando desde 2 dias.

Sempre que tento definir a cor do texto usando a folha de estilo com código comentado, a opção "cor" não funciona na folha de estilo. alguma idéia de como fazer isso? obrigado

from PyQt5 import QtCore, QtGui, QtWidgets

class TabBar(QtWidgets.QTabBar):
    def tabSizeHint(self, index):
        s = QtWidgets.QTabBar.tabSizeHint(self, index)
        s.transpose()
        return s

    def paintEvent(self, event):
        painter = QtWidgets.QStylePainter(self)
        opt = QtWidgets.QStyleOptionTab()

        for i in range(self.count()):
            self.initStyleOption(opt, i)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, opt)
            painter.save()

            s = opt.rect.size()
            s.transpose()
            r = QtCore.QRect(QtCore.QPoint(), s)
            r.moveCenter(opt.rect.center())
            opt.rect = r

            c = self.tabRect(i).center()
            painter.translate(c)
            painter.rotate(90)
            painter.translate(-c)
            painter.drawControl(QtWidgets.QStyle.CE_TabBarTabLabel, opt)
            painter.restore()

        # for i in range(self.count()):
        #     self.initStyleOption(opt, i)
        #     c = self.tabRect(i)
        #     c.moveLeft(35)
        #     painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, opt)
        #     # painter.setPen(QColor(255, 255, 255))
        #     painter.drawText(c, QtCore.Qt.AlignVCenter | QtCore.Qt.TextDontClip, self.tabText(i))
        #     if i == 0:
        #         painter.drawImage(QtCore.QRectF(8, 8, 20, 20), QtGui.QImage("images/logo.png"))
        #     if i == 1:
        #         painter.drawImage(QtCore.QRectF(8, 44, 20, 20), QtGui.QImage("images/data.png"))
        #     if i == 2:
        #         painter.drawImage(QtCore.QRectF(8, 82, 20, 20), QtGui.QImage("images/browse.png"))
        #     if i == 3:
        #         painter.drawImage(QtCore.QRectF(8, 120, 20, 20), QtGui.QImage("images/off.png"))
        #     if i == 4:
        #         painter.drawImage(QtCore.QRectF(8, 158, 20, 20), QtGui.QImage("images/cal.png"))
        #     if i == 5:
        #         painter.drawImage(QtCore.QRectF(8, 196, 20, 20), QtGui.QImage("images/fol.png"))
        #     if i == 6:
        #         painter.drawImage(QtCore.QRectF(8, 232, 20, 20), QtGui.QImage("images/exc.png"))
        # painter.end()


class TabWidget(QtWidgets.QTabWidget):
    def __init__(self, *args, **kwargs):
        QtWidgets.QTabWidget.__init__(self, *args, **kwargs)
        self.setTabBar(TabBar(self))
        self.setTabPosition(QtWidgets.QTabWidget.West)

questionAnswers(1)

yourAnswerToTheQuestion