使用Python在Qt中旋转标签

时间:2015-06-22 17:38:44

标签: python qt

我对Qt有些新意,并想知道如何旋转其中有pixmap的Label。我试过这样的事情:

    def paintEvent (self, event):
        t = QtGui.QTransform()
        image = QtGui.QImage(_fromUtf8(":/icons/BOOM_OUT.png"))
        pixmap = QtGui.QPixmap.fromImage(image)
        self.label.setPixmap(pixmap)
        t.translate(400,300)
        t.rotate(45)

        p = QtGui.QPainter(self)
        p.setTransform(t)
        p.drawPixmap((-pixmap.width()/2),(-pixmap.height()/2), pixmap)
        p.end()

我知道drawPixmap没有引用标签,但是我无法使用它。 我觉得这应该很容易,但从我读过的所有东西看起来有点困难。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

不是100%肯定你想要实现的目标,但是旋转图像/像素图并保持标签的paintEvent不变似乎更容易:

 # load your image
image = QtGui.QPixmap(_fromUtf8(":/icons/BOOM_OUT.png"))

# prepare transform
t = QtGui.QTransform()
t.rotate(45)

# rotate the pixmap
rotated_pixmap = pixmap.transformed(t)

# and let the label show the rotated version
label.setPixmap(rotated_pixmap)