хех, простым добавлением свойства можно вращать QLabel? Интересное решение
Другие идеи?
Перегрузить метод paintEvent() и нарисовать всё с нужным углом поворота? Самое простое, что пришло в голову.
Примерно так:
Python
from PySide.QtCore import *
from PySide.QtGui import *
class MyLabel(QLabel):
def __init__(self):
super(MyLabel, self).__init__()
self._angle = 0
def rotate(self, angle):
self._angle = angle
def paintEvent(self, event):
painter = QPainter(self)
painter.save()
w = self.width()
h = self.height()
painter.translate(w/2.0, h/2.0)
painter.rotate(self._angle)
painter.translate(-w/2.0, -h/2.0)
painter.drawText(self.rect(), self.alignment(), self.text())
painter.restore()
self.drawFrame(painter)
pass
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
label = MyLabel()
label.setAlignment(Qt.AlignCenter)
label.setText('Hello, World!')
label.rotate(35)
label.show()
label.resize(100, 100)
app.exec_()