从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件

简介: 从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件

QRadioButton控件的作用


QradioButton控件提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项,标签用于显示对应的文本信息。


单选钮是一种开关按钮,可以切换为on或者off,即 checked或unchecked,主要是为用户提供“多选一”的选择。


QRadioButton控件常用的方法


724f15779b9146639d00fa46a9d1c26e.png


代码示例


# -*- coding: utf-8 -*-
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Radiodemo(QWidget):
  def __init__(self, parent=None):
    super(Radiodemo, self).__init__(parent)
    layout = QHBoxLayout()
    self.btn1 = QRadioButton("Button1")
    # btn1设置为默认选中状态
    self.btn1.setChecked(True)
    self.btn1.toggled.connect(lambda:self.btnstate(self.btn1))
    layout.addWidget(self.btn1)
    self.btn2 = QRadioButton("Button2")
    self.btn2.toggled.connect(lambda:self.btnstate(self.btn2))
    layout.addWidget(self.btn2)
    self.setLayout(layout)
    self.setWindowTitle("RadioButton 示例")
  def btnstate(self,btn):
    if btn.text()=="Button1":
      if btn.isChecked() == True:
        print( btn.text() + " is selected" )
      else:
        print( btn.text() + " is deselected" )
    if btn.text()=="Button2":
      if btn.isChecked()== True :
        print( btn.text() + " is selected" )
      else:
        print( btn.text() + " is deselected" )
if __name__ == '__main__':
  app = QApplication(sys.argv)
  radioDemo = Radiodemo()
  radioDemo.show()
  sys.exit(app.exec_())


运行结果:


688eaf79976a4914917cd868da03dd3e.png


注意:在QRadioButton中,toggled信号是在切换单选钮状态(开、关)时发射的,而clicked信号则在每次点击单选钮时都会发射。在实际中,一般只有状态改变时才有必要去响应,因此toggled信号更适合用于状态监控。

相关文章
|
算法 计算机视觉 Python
OpenCV中Canny边缘检测和霍夫变换的讲解与实战应用(附Python源码)
OpenCV中Canny边缘检测和霍夫变换的讲解与实战应用(附Python源码)
1402 0
|
监控 Python
logging的基本使用教程
这篇文章提供了Python `logging` 模块的基本使用教程,包括如何配置日志级别和格式、记录不同级别的日志消息,以及如何将日志输出到文件。
Qt提升控件类为自定义类
Qt提升控件类为自定义类
756 0
|
计算机视觉 Python
OpenCV中图像的开、闭运算讲解与实战应用(附Python源码)
OpenCV中图像的开、闭运算讲解与实战应用(附Python源码)
809 0
|
5月前
|
人工智能 运维 NoSQL
|
6月前
|
安全 数据安全/隐私保护
RBAC权限模型
RBAC(基于角色的访问控制)通过角色管理权限,实现用户、角色、权限与资源的分离。其核心原则包括最小权限、职责分离与数据抽象,分为RBAC0至RBAC3四个层级,逐步支持角色继承与动态静态职责分离,提升系统安全与管理效率。
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
925 0
|
存储 数据可视化 Python
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
994 0
|
开发工具 git
Vcpkg安装指定版本包或自定义安装包
Vcpkg安装指定版本包或自定义安装包
3519 0
|
开发者 Python
【Python】已完美解决:ERROR: Could not find a version that satisfies the requirement re
【Python】已完美解决:ERROR: Could not find a version that satisfies the requirement re
3497 0