样式
widget = QLabel("Hello")
font = widget.font()
font.setPointSize(30)
widget.setFont(font)
# 文字组件垂直居中且水平居中,可选项有AlignTop,AlignBottom,AlignLeft,
# AlignRight, AlignJustify,AlignCenter
widget.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
self.setCentralWidget(widget)
组件一览
from PyQt5.QtWidgets import(
QCheckBox,QComboBox,QDateEdit,QDateTimeEdit,
QDial,QDoubleSpinBox,QFontComboBox,QLCDNumber,
QLabel,QLineEdit,QProgressBar,QPushButton,
QRadioButton,QSlider,QSpinBox, QTimeEdit,
QVBoxLayout,QWidget,QMainWindow,QApplication,
QLabel,
)
from PyQt5.QtCore import Qt
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("教学应用")
layout = QVBoxLayout()
widgets = [
# 勾选
QCheckBox,
# 下拉列表框
QComboBox,
# 日期输入框
QDateEdit,
# 时间输入框
QDateTimeEdit,
QDial,
# 双精度输入框
QDoubleSpinBox,
# 文字选项栏
QFontComboBox,
# 非交互式标签
QLabel,
# 输入框
QLineEdit,
# 进度条
QProgressBar,
# 按钮
QPushButton,
# 单项
QRadioButton,
# 滑块条
QSlider,
# 整数框
QSpinBox,
# 时间输入框
QTimeEdit,
]
for w in widgets:
layout.addWidget(w())
# 实例化一个widget
widget = QWidget()
# 将layout填入
widget.setLayout(layout)
self.setCentralWidget(widget)
if __name__ == "__main__":
app =QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()

下拉框的设置
selectCom = QComboBox()
# 添加选项
selectCom.addItems(["卡布奇洛","拿铁","美式"] )
# 监听索引值变动
selectCom.currentIndexChanged.connect(self.index_changed)
# 监听文本变动
selectCom.currentTextChanged.connect(self.text_changed)
# 下拉框具有输入功能
selectCom.setEditable(True)
# 设置选项最大长度
selectCom.setMaxCount(10)
self.setCentralWidget(selectCom)
def index_changed(self,i):
print(i)
def text_changed(self,t):
print(t)

输入框
inputCom = QLineEdit()
# 设置输入框值最大长度
inputCom.setMaxLength(20)
# 提示文
inputCom.setPlaceholderText("请输入您的名字")
# 监听文本变动
inputCom.textChanged.connect(self.text_changed)
# 监听编辑变动
inputCom.textEdited.connect(self.text_edited)
# 监听回车键,注意这个监听不传输入框中的值
inputCom.returnPressed.connect(self.return_pressed)
self.setCentralWidget(inputCom)
def text_edited(self,i):
print(i)
def text_changed(self,t):
print(t)
def return_pressed(self):
# 修改输入框中的值
self.centralWidget().setText("Boom")
勾选框
checkBox = QCheckBox()
# 设置勾选的初始状态
checkBox.setCheckState(Qt.Unchecked)
checkBox.stateChanged.connect(self.show_state)
self.setCentralWidget(checkBox)
def show_state(self,s):
print(s == Qt.Checked)