单选和多选框
单选框¶
QRadioButton是单选按钮,它提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项.
单选框选中的信号是: toggled
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
def func(checked):
'''
状态变化的槽函数
:param checked: 是否被选中
:return:
'''
print('状态变化',checked)
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
window = QWidget()
# 修改窗口标题
window.setWindowTitle('单选框')
"""------------------ 创建布局 ------------------"""
layout = QHBoxLayout()
# 添加布局到窗口中
window.setLayout(layout)
# 创建两个单选框
rb1 = QRadioButton('男')
rb2 = QRadioButton('女')
rb1.setChecked(True)
# 添加到布局中
layout.addWidget(rb1)
layout.addWidget(rb2)
# 绑定信号和槽
rb1.toggled.connect(func)
# 3.显示窗口
window.show()
# 4.等待窗口停止
sys.exit(app.exec())
多选框¶
QCheckBox提供了一组带文本标签的复选框,用户可以选择多个选项
多选框选中的信号是: stateChanged
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
def func(state):
if state == 2:
print('选中')
elif state == 0:
print('取消选中')
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
window = QWidget()
# 修改窗口标题
window.setWindowTitle('复选框')
"""------------------ 窗口布局 ------------------"""
layout = QHBoxLayout()
# 添加到窗口中
window.setLayout(layout)
# 控件
label = QLabel()
label.setText('爱好:')
ck1 = QCheckBox('抽烟')
ck2 = QCheckBox('喝酒')
ck3 = QCheckBox('烫头')
# 第一个默认选中
# ck1.setChecked(True)
# 添加控件到布局中
layout.addWidget(label)
layout.addWidget(ck1)
layout.addWidget(ck2)
layout.addWidget(ck3)
# 绑定信号和槽
ck1.stateChanged.connect(func)
# 3.显示窗口
window.show()
# 4.等待窗口停止
sys.exit(app.exec())