pyqt5如何在label显示图片并旋转图片
旋转要基于图片的某个点旋转,不能变形。但是这个旋转不是我想要的,而且使用transform.translate(0, 100)平移没有效果,没查找到原因,求解答
使用以下代码,发现图片不是基于平面上旋转(轴不是我想的Z轴)
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtGui import QPixmap, QTransform
from PyQt5.QtCore import Qt
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 300)
# 加载图片
pixmap = QPixmap('XX.png')
# 创建标签并设置图片
label = QLabel(self)
label.setPixmap(pixmap)
label.setGeometry(50, 50, pixmap.width(), pixmap.height())
# 旋转图片
transform = QTransform().rotate(50)
#平移失效
transform.translate(0, 100)
rotated_pixmap = pixmap.transformed(transform, Qt.SmoothTransformation)
# 创建标签并设置旋转后的图片
rotated_label = QLabel(self)
rotated_label.setPixmap(rotated_pixmap)
rotated_label.setGeometry(50, 50, rotated_pixmap.width(), rotated_pixmap.height())
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()