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 相关文章推荐
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
简单易懂的python环境安装教程
Jul 13 Python
python图像常规操作
Nov 11 Python
Python设计模式之中介模式简单示例
Jan 09 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
python中退出多层循环的方法
Nov 27 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
简单的Python调度器Schedule详解
Aug 30 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 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语法速查表
2007/01/02 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
简单的三步vuex入门
2018/05/20 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python正规则表达式学习指南
2016/08/02 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
Numpy的简单用法小结
2019/08/28 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Android面试题附答案
2014/12/08 面试题
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
党务公开方案
2014/05/06 职场文书
地球一小时宣传标语
2014/06/24 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript