Como alterar o alinhamento do texto no QTabWidget?

Não consigo encontrar uma maneira de definir o alinhamento do texto em um QTabWidget.

Depois de criar uma instância deste widget, defini seutabPosition para West, mas eu gostaria que ele mostrasse texto / etiqueta horizontalmente. Eu dei uma olhada no Qt'sfolhas de estilo, mas como você pode ver, oalinhamento de texto A propriedade só pode ser definida em QPushButton e QProgressBar.

Eu já procurei na web, mas encontrei umrelatório de erro, umapergunta não respondida, e finalmenteum usuário isso sugere reimplementar o método paint (). Talvez eu resolvesse, mas estou usando Python (PyQt ou PySide) e não sei como fazê-lo.

Pode me ajudar?

EDIT: graças a Teukamm, escrevi um pouco de código:

from PyQt4 import QtGui, QtCore

class HorizontalTabWidget(QtGui.QTabBar):
    def paintEvent(self, event):
        for index in range(self.count()):
            painter = QtGui.QPainter()
            painter.begin(self)
            painter.setPen(QtCore.Qt.blue);
            painter.setFont(QtGui.QFont("Arial", 10));
            tabRect = self.tabRect(index)
            painter.drawText(tabRect, QtCore.Qt.AlignVCenter | QtCore.Qt.TextDontClip, self.tabText(index));
            painter.end()

     def sizeHint(self):
         return QtCore.QSize(60, 130)

import sys
app = QtGui.QApplication(sys.argv)
tabs = QtGui.QTabWidget()
tabs.setTabBar(HorizontalTabWidget())
widget1 =  QtGui.QWidget()
widget2 =  QtGui.QWidget()
tabs.addTab(widget1, "Widget1")
tabs.addTab(widget2, "Widget2")
tabs.setTabPosition(2)
tabs.show()
sys.exit(app.exec_())

E finalmente, meu texto está alinhado conforme o esperado, mas tenho um pequeno (grande?) Problema: quando você clica no lado direito de cada botão da guia, ele não envia ocurrentChanged SINAL. Também tentei expandir a largura de cada tabRect, no paintEvent, mas não funciona. O que devo mudar?

Obrigado :)

BTW: você não pôde herdar do QTabWidget, mas do QTabBar;)

EDITAR:

Resolvido! Apenas mudei o métodosizeHint notabSizeHint e funciona bem :)

questionAnswers(2)

yourAnswerToTheQuestion