样式
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 Qtimport sysclass 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)