用Python在Qt中旋转标签

2024-09-28 22:41:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Qt有点陌生,想知道如何旋转内部有pixmap的标签。我试过这样的方法:

    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没有引用标签,但是我不能让它工作。 我觉得这应该很容易,但从我所读到的一切来看,似乎有些困难。任何帮助将不胜感激!在


Tags: 方法imageselfeventdef标签qtqtgui
1条回答
网友
1楼 · 发布于 2024-09-28 22:41:52

不是百分之百确定您要实现什么,但是旋转图像/pixmap并保持标签的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)

相关问题 更多 >