python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例


Posted in Python onFebruary 28, 2020

PyQt5单选按钮控件QRadioButton简介

QRadioButton 继承自 QAbstractButton,其主要作用提供用户一些互斥的按钮。

QRadioButton 只有一个的时候,功能类似于复选框, 可以选择和取消,但是如果有多个,则必须有一个被选中

QRadioButton类中常用的方法

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

QRadioButton按钮的使用实例

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore 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)
  #toggled信号与槽函数绑定
  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 demo')

 def btnstate(self,btn):
 #输出按钮1与按钮2的状态,选中还是没选中
  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_())

效果如图

python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例

QRadioButton代码分析

在这个例子中,两个互斥的单选框被放置在窗口中

第一个单选按钮btn1,被设置成默认状态

self.btn1.setChecked(True)

当选择两个按钮相互切换时,按钮的状态发生改变,将触发toggle信号,并与槽函数btnstate()连接。使用lamdba的方式允许将源信号传递给槽函数,将按钮作为参数

self.btn1.toggled.connect(lambda :self.btnstate(self.btn1))
self.btn1.toggled.connect(lambda :self.btnstate(self.btn1))

当发射toggled信号后,使用btnstate()函数来检查按钮的状态

所有QRadioButton的控件是互斥的,所以也可以通过多个父控件来对QRadioButton进行分组。不过,一般使用QButtonGroup来对按键进行分组。通过按键分组的方式来让不同类型的QRadioButton不互相排斥。

本文主要讲解了PyQt5单选按钮控件QRadioButton详细使用方法与实例,更多关于PyQt5控件知识请查看下面的相关链接

Python 相关文章推荐
Python实现查找系统盘中需要找的字符
Jul 14 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
Python常用算法学习基础教程
Apr 13 Python
python实现linux下抓包并存库功能
Jul 18 Python
Python实现基于POS算法的区块链
Aug 07 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
python使用参数对嵌套字典进行取值的方法
Apr 26 Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 Python
tensorflow tf.train.batch之数据批量读取方式
Jan 20 Python
python动态文本进度条的实例代码
Jan 22 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
Python函数中的不定长参数相关知识总结
Jun 24 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 #Python
Python post请求实现代码实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 #Python
Python接口测试get请求过程详解
Feb 28 #Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 #Python
Python爬取365好书中小说代码实例
Feb 28 #Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 #Python
You might like
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
windows下python和pip安装教程
2018/05/25 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
python数据归一化及三种方法详解
2019/08/06 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
关于Java String的一道面试题
2013/09/29 面试题
恶意软件的定义
2014/11/12 面试题
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
Java面试题:为什么要用Java
2012/05/11 面试题
生产部经理岗位职责
2013/12/16 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
七一建党日演讲稿
2014/09/05 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript