14.PyQt5【基本组件】单选按钮-QRadioButton

一、前言

QRadioButton类对象呈现一个带有文本标签的可选按钮。用户可以选择表单上显示的许多选项之一。该类派生自 QAbstractButton 类。

默认情况下,单选按钮是自动排他的。因此,一次只能选择父窗口中的一个单选按钮。如果选择了一个,则会自动取消选择先前选择的按钮。

二、学习目标

1.QRadioButton常用方法

2.QRadioButton常用信号

3.QRadioButton组件的应用

三、知识点

1.【QRadioButton常用方法】

方法 描述
setCheckable() 设置按钮是否被选中,可以改变单选钮的选中状态,如果设置为True,则表示单选钮将保持已点击或释放状态。
isChecked() 返回单选按钮的状态。设置返回值True或False
setText() 设置单选按钮的显示文本
text() 返回单选钮的显示文本

2.【QRadioButton常用信号】

信号 描述
clicked(bool) 当鼠标左键被按下,一直按着或者释放时,或者快捷键被按着或者释放时触发该信号
pressed() 当鼠标指针在按钮上并按下左键时触发该信号,一直按着或者按下并释放都会产生
released() 当鼠标左键被释放时触发该信号
toggled(checked) 当按钮的checkable设置为True时,其状态发生改变时触发该信号

3.【QRadioButton组件的应用】

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QRadioButton组件示例")
        # 创建布局
        self.layout = QVBoxLayout()

        # QRadioButton组件定义
        self.radio1 = QRadioButton(self)
        self.radio1.setText("第一个单选按钮")              # radio1设置文本
        self.radio2 = QRadioButton('第二个单选按钮', self)
        # QRadioButton组件设置
        self.radio2.setCheckable(True)                  # radio1设置默认可选择
        # QRadioButton关联信号
        self.radio2.toggled.connect(self.on_radio2_toggled)

        # 将组件添加到布局中
        self.layout.addWidget(self.radio1)
        self.layout.addWidget(self.radio2)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def on_radio2_toggled(self):
        """radio2组件槽函数"""
        print("radio2单选按钮被切换啦!")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码

            # QRadioButton组件定义
            self.radio1 = QRadioButton(self)
            self.radio1.setText("第一个单选按钮")              # radio1设置文本
            self.radio2 = QRadioButton('第二个单选按钮', self)
            # QRadioButton组件设置
            self.radio2.setCheckable(True)                  # radio1设置默认可选择
            # QRadioButton关联信号
            self.radio2.toggled.connect(self.on_radio2_toggled)
    

    QRadioButton组件同样支持两种设置文本的方式,QRadioButton类继承自QAbstractButton 类,所以我们可以使用QAbstractButton 类的支持的信号,如toggled。

posted @ 2023-01-16 10:41  测开星辰  阅读(1199)  评论(0编辑  收藏  举报