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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
python进行TCP端口扫描的实现
Dec 21 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python绘制直方图和密度图的实例
Jul 08 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
Python实现自动装机功能案例分析
Oct 22 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
python实现简易名片管理系统
Apr 11 Python
浅析Python OpenCV三种滤镜效果
Apr 11 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
PHP 命名空间实例说明
2011/01/27 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
JS 树形递归实例代码
2010/05/18 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
如何更优雅地写python代码
2019/07/02 Python
解决Python二维数组赋值问题
2019/11/28 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
Python 在函数上添加包装器
2020/07/28 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
文职个人求职信范文
2013/09/23 职场文书
企业内控岗位的职责
2014/02/07 职场文书
植树节标语
2014/06/27 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
销售助理岗位职责
2015/02/11 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android