如何在 PyQt5 中对齐 QLabel 上的中心图像?

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 未以 window 为中心。因此,您应该将小部件居中,方法是更改​​为:

layout.addWidget(label_img, <b>alignment=Qt.AlignCenter</b>)