[英]How do I align centre image on QLabel in PyQt5?
我目前正在做一些基本的练习。 我正在尝试重写一些应用程序,其中我使用 tkinter 对 PyQt5 执行相同操作。 除了一个问题之外,一切都正常 - 我有一个包含图像的 QLabel,我试图将图像对齐在标签的中心,但它不想,图像保持与左侧对齐。 代码如下:
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout, QPushButton, QFileDialog
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
app=QApplication([])
window=QWidget()
window.setFixedSize(500,500)
layout=QVBoxLayout()
label_img=QLabel()
label_img.setFixedSize(300, 300)
label_img.setAlignment(Qt.AlignCenter)
image = QFileDialog.getOpenFileName(None,'Select file','D:\_Download', "Image files(*.png *.jpg *.jpeg *.gif)")
imagePath = image[0]
pixmap = QPixmap(imagePath)
pixmap.scaledToHeight(label_img.height(), Qt.SmoothTransformation)
label_img.setPixmap(pixmap)
layout.addWidget(label_img)
window.setLayout(layout)
window.show()
app.setStyle('Fusion')
app.exec_()
我究竟做错了什么?
QPixmap 以 QLabel 为中心,但问题是 QLabel 没有相对于窗口居中。 因此,您应该通过更改为使小部件居中:
layout.addWidget(label_img, alignment=Qt.AlignCenter)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.