The AttributeError
所提出的表明PyQt5.Qt
没有名为的属性AlignCenter
.
这可以在 Python 的交互式帮助中轻松确认:
>>> from PyQt5 import Qt
>>> help(Qt)
help
将显示一堆方法,但快速搜索“对齐”将给出零结果。
事实上,AlignCenter
标志不属于PyQt5.Qt
模块,但到PyQt5.QtCore.Qt
class.
因此,改变
label.setAlignment(Qt.AlignCenter)
into
label.setAlignment(QtCore.Qt.AlignCenter)
加上正确的导入就可以完成工作。
下面的代码表明这确实有效。我必须在原始代码中添加一些细节才能使居中可见。
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
label = QtWidgets.QLabel()
label.setGeometry(100, 100, 200, 100)
label.setText("Hello world!")
label.setAlignment(QtCore.Qt.AlignCenter)
label.show()
exit(app.exec_())
注释掉对齐方式:
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
label = QtWidgets.QLabel()
label.setGeometry(100, 100, 200, 100)
label.setText("Hello world!")
# label.setAlignment(QtCore.Qt.AlignCenter)
label.show()
exit(app.exec_())