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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
python实现查询苹果手机维修进度
Mar 16 Python
Python内置函数dir详解
Apr 14 Python
python中self原理实例分析
Apr 30 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
spyder常用快捷键(分享)
Jul 19 Python
Django与JS交互的示例代码
Aug 23 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
Django 视图层(view)的使用
Nov 09 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
Python读写yaml文件
Mar 20 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/06/16 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
php内存缓存实现方法
2015/01/24 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
简单了解python模块概念
2018/01/11 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python实现排序算法解析
2018/09/08 Python
python实现控制COM口的示例
2019/07/03 Python
python类的实例化问题解决
2019/08/31 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
python如何使用腾讯云发送短信
2020/09/17 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
秋季运动会表扬稿
2014/01/16 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
小班开学寄语
2014/04/04 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书