python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
作者:jia666666 发布时间:2022-01-26 01:33:47
标签:python,PyQt5,单选
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_())
效果如图
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控件知识请查看下面的相关链接
来源:https://blog.csdn.net/jia666666/article/details/81514777
0
投稿
猜你喜欢
- <%@ Page Language="C#" AutoEventWireup="true" C
- 本文实例讲述了Python实现拼接多张图片的方法。分享给大家供大家参考。具体分析如下: 这里所述计划实现如下操作: ①
- 在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。因此想使用原始套接字进行编
- Python中创建线程有两种方式:函数或者用类来创建线程对象。函数式:调用 _thread 模块中的start_new_thread()函数
- 这篇文章主要介绍了pandas和spark dataframe互相转换实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 首先来看实例代码:# -*- coding:utf-8 -*-import requestsimport datetimeimport ti
- 一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-
- 如下所示:In [1]: import pandas as pd ...: df=pd.DataFrame({"a":[
- 我们在浏览网页的时候偶尔会遇到一些陌生的网页交互行为,通常情况下它们并不会影响你的正常使用,之所以出现情况往往是因为,设计师在设计某个交互方
- 扫雷是一款益智类小游戏,最早于 1992 年由微软在 Windows 上发行,游戏适合于全年龄段,规则简单,即在最短的时间内找出所有非雷格子
- import turtle as tt.setup(800,600,0,0,)t.pensize(2)t.speed(1)t.color(&
- python烟花代码如下# -*- coding: utf-8 -*-import math, random,timeimport thre
- 1|0使用yield完成多任务import timedef test1(): while True: print("-
- 赠送QQ秀流程是QQ秀商城关键流程之一,占了收入最直接的一部分。它的优化是后续商城流程优化的重要参考。OK,现在就用TA做例子,分享一下流程
- Python 提供了 日期和时间模块用来处理日期和时间,还可以用于格式化日期和时间等常见功能。时间间隔是以秒为单位的浮点小数。每个时间戳都以
- 由于最近有个任务需要在python环境下跑,项目是python3.6 + tensorflow1.3.1.现总结安装环境:卸载Python3
- 大家应该经常看到在文本框里提示文字,然后一点就没了。通常做法都是默认给个value,通过js来处理。详细实现都不介绍了,大家都会。现在来看一
- 我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。可迭代一个对象,物理或者虚拟存储的序列。li
- python 读取语音文件时,常用的无非以下三种方式,但是在我们数据量变的很大是,不同的读取方式之间的性能差异就会被进一步放大,于是本文着重
- 1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop data