先上效果
代码:
from PyQt5 import QtWidgets, QtCore
import sys
class MyDialog(QtWidgets.QDialog):
def __init__(self):
super().__init__()
# Create a QVBoxLayout
layout = QtWidgets.QVBoxLayout(self)
# Add QLabel
self.label = QtWidgets.QLabel("Fixed Height Label", self)
## 居中显示
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
self.label.setMaximumHeight(50) # Set fixed height
layout.addWidget(self.label)
# Add QFormLayout
self.form_layout = QtWidgets.QFormLayout()
layout.addLayout(self.form_layout)
# Add some widgets to the QFormLayout for demonstration
self.form_layout.addRow("Name:", QtWidgets.QLineEdit())
self.form_layout.addRow("Age:", QtWidgets.QSpinBox())
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
dialog = MyDialog()
dialog.show()
sys.exit(app.exec_())
这个代码是想展示窗体布局中, Qlable 如何居中显示:
- 首先创建了一个 QVboxLayout , 上面放置了一个 组件 Qlable 和一个 QFormLayout, 进一步的QFormLayout 中放置了两个字段 姓名和年龄
- 特别的针对Qlable, 文字居中显示:label.setAlignment(QtCore.Qt.AlignCenter)
- 大小策略: 水平方向是可扩展的: QtWidgets.QSizePolicy.Expanding
垂直方向是可固定的: QtWidgets.QSizePolicy.Fixed