QRadioButton单选按钮
- 描述
- 一般用于给用户提供若干选项中的单选操作(如:男、女;是、否)
- 当选中一个时, 会自动取消上一个
- 此按钮左侧会有一个圆圈图标, 用于标识用户的选中状态
- 继承自QAbstractButton
- 功能作用
- 创建单选按钮
QRadioButton(parent) # 创建的同时设置父控件 QRadioButton(text, parent) # 创建的同时设置提示文本和父控件
- 同一个父控件内,只有一个单选按钮时,该按钮可以选中,也可以取消选中
- 同一个父控件内,有多个单选按钮时,必须有一个是选中状态,选中状态时再点击无法取消选中,中能通过点击选中另一个来取消这一个的选中状态
- 常用继承父类操作
setIcon(QIcon) # 设置图标 setChecked(bool) # 设置按钮是否选中 toggle() # 设置按钮反选状态 setCheckable(bool) # 设置按钮是否可以被选中(False:灰色) setShortcut('Alt+A') # 设置快捷键 setText('&ABC') # 设置提示文本的同时设置快捷键 setAutoExclusive(bool) # 设置按钮是否独占资源(排他性) # 单选按钮默认setAutoExclusive的值是True
- 设置的图标位于圆圈和文本中间
- 可用信号
# 继承自QAbstractButton类 pressed() # 鼠标按下信号 released() # 鼠标释放信号(控件内松开鼠标/鼠标移出控件范围后) clicked(checked = False) # 单击信号(控件内按下+控件内释放),传递按钮是否被选中状态 toffled(bool checked) # 选中状态切换信号(一般在单选框或者复选框中使用),传递按钮是否被选中状态 # 继承自QWidget类 windowTitleChanged(QString) # 窗口标题改变信号,发射新的窗口名称 windowIconChanged(QIcon) # 窗口图标改变信号,发射图标对象 customContextMenuRequested(QPoint) # 自定义上下文菜单请求信号(鼠标右键按下发射信号),发射(传递)鼠标右键点击的坐标 setContextMenuPolicy(Qt.CustomContextMenu) # 设置控件自定义上下文菜单策略 # 参数: Qt.CustomContextMenu # 发射信号customContextMenuRequested(QPoint) Qt.DefaultContextMenu # 默认,调用对象方法contextMenuEvent()
- 常用信号为toggled(bool),选中状态切换信号,传递按钮是否被选中状态
- 示例代码
- 单选按钮
from PyQt5.Qt import * import sys app = QApplication(sys.argv) window = QWidget() window.resize(500, 500) window.setWindowTitle('QRadioButton-创建与快捷键') rbtn1 = QRadioButton('男', window) rbtn2 = QRadioButton('女', window) rbtn3 = QRadioButton('是', window) rbtn1.move(100, 100) rbtn2.move(200, 100) rbtn3.move(300, 100) rbtn1.setIcon(QIcon('../images/png/home.png')) # 设置按钮选中 rbtn1.setChecked(True) # 设置按钮资源独占(排他性)为False rbtn2.setAutoExclusive(False) # 常用信号:选择状态发生改变时候触发 rbtn3.toggled.connect(lambda isChecked: print(isChecked)) window.show() sys.exit(app.exec_())