qbuttongroup如何都不选中_将单选按钮和多选按钮分组的类QButtonGroup
QButtonGroup 的继承图:
QButtonGroup 的描述:
它是个抽象的按钮容器,可以将多个按钮划分为一组
之所以抽象是指它不具备可视化的效果(因为它继承自QObject ,一般继承自QWidget的才具有可视化效果)。
它一般放的是可被检查的按钮:例如单选按钮,多选按钮,
QButtonGroup 的继承:
它继承自QObjecct 类
QButtonGroup 的功能:
添加按钮:
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")###########################################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)###########################################################
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
id的用途:
添加按钮的时候设置id 是方便了后面对用户所做选择进行判断,进行分析处理。
它的默认值是-1
这里要注意,-1只是个标识,系统会为每个按钮自动分配id ,并不是所有的按钮的id 都是-1
所谓自动分配是从-2开始,-2,-3,-4,,,,
我们这里给男设置 1 女设置2
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1,1)
sex_group.addButton(radio_button_2,2)#########################添加按钮的时候给它设置id##################################
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
查看组中的按钮:
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")###########################################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)###########################################################
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#****************************查看组中的按钮*******************************
print(sex_group.buttons())print(judge_group.buttons())#****************************查看组中的按钮*******************************
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
如果添加按钮的时候给设置id 的话,那么,我们在查看按钮的时候可以根据id 来查看,
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1,1)
sex_group.addButton(radio_button_2,2)#########################添加按钮的时候给它设置id##################################
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#****************************查看id为 1 的按钮*******************************
print(sex_group.button(1))#****************************查看id为 1 的按钮*******************************
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
在按钮组中,查看id 为1的按钮
查看组中被选中的按钮:
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1,1)
sex_group.addButton(radio_button_2,2)#########################添加按钮的时候给它设置id##################################
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#****************************查看组中被选中的按钮*******************************
print(sex_group.checkedButton())#****************************查看组中被选中的按钮*******************************
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
移除按钮:
它并不是从window 上删除这个按钮,而只是将其移出抽象的按钮组。
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1,1)
sex_group.addButton(radio_button_2,2)#########################添加按钮的时候给它设置id##################################
#****************************移出按钮组*******************************
sex_group.removeButton(radio_button_2)#****************************移出按钮组*******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
绑定和获取ID:
前面的添加按钮到按钮组的时候可以绑定id ,如果忘了传了,
也可以用方法来设置。
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************绑定id *******************************
sex_group.setId(radio_button_1,1)
sex_group.setId(radio_button_2,2)#****************************绑定id *******************************
#****************************获取id *******************************
print(sex_group.id(radio_button_1))print(sex_group.id(radio_button_2))#****************************获取id *******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
绑定和获取组中按钮的id
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************绑定id *******************************
sex_group.setId(radio_button_1,1)
sex_group.setId(radio_button_2,2)#****************************绑定id *******************************
#****************************获取id *******************************
print(sex_group.id(radio_button_1))print(sex_group.id(radio_button_2))#****************************获取id *******************************
#****************************查看当前选中的按钮的id*******************************
print(sex_group.checkedId())#****************************查看当前选中的按钮的id*******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
查看当前组中选中的按钮的id
如果都没有选中的话,id 是-1
独占设置:
可以将组中的独占设置为否!
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************将一个组的独占设置为否定*******************************
sex_group.setExclusive(False)#****************************将一个组的独占设置为否定*******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
View Code
QButtonGroup 的信号:
它会传递两种类型的值,一个是具体哪个按钮,一个是它的id
发出信号时向外传出的int 指的是之前设置的id .
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************信号 向外传出的是具体的按钮*******************************
sex_group.buttonClicked.connect(lambda val:print(val))#****************************信号 向外传出的是具体的按钮*******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
传出的是按钮
对于这种信号名字相同,参数类型不同,我们可以用以下方式进行信号选择:
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************信号 向外传出的是按钮的id *******************************
sex_group.buttonClicked[int].connect(lambda val:print(val))#****************************信号 向外传出的是按钮的id ******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
传出的是按钮的id
当然,获取了具体的按钮之后,自然很简单就可以获得它的id 了。
直接用sex_group.id() 就可以:
from PyQt5.Qt import * #刚开始学习可以这样一下导入
importsys#1,创建app
app =QApplication(sys.argv)#2,控件的操作:#创建控件
window =QWidget()#设置控件
window.setWindowTitle("QRadioButton")
window.resize(500,500)
radio_button_1= QRadioButton("男-Male",window)
radio_button_1.move(100,100)
radio_button_1.setIcon(QIcon("icon.ico"))
radio_button_1.setShortcut("Ctrl+M")
radio_button_2= QRadioButton("女-Famale",window)
radio_button_2.move(100,200)
radio_button_2.setIcon(QIcon("icon.ico"))
radio_button_2.setShortcut("Ctrl+F")
radio_button_1.setChecked(True)#########################添加按钮的时候给它设置id##################################
sex_group =QButtonGroup(window)
sex_group.addButton(radio_button_1)
sex_group.addButton(radio_button_2)#########################添加按钮的时候给它设置id##################################
#****************************信号 向外传出的是按钮的id *******************************
sex_group.buttonClicked.connect(lambda val:print(val,sex_group.id(val)))#****************************信号 向外传出的是按钮的id ******************************
radio_button_yes= QRadioButton("yes",window)
radio_button_yes.move(300,100)
radio_button_no= QRadioButton("yes",window)
radio_button_no.move(300,200)###########################################################
judge_group =QButtonGroup(window)
judge_group.addButton(radio_button_yes)
judge_group.addButton(radio_button_no)###########################################################
#展示控件
window.show()#3,进入消息循环
sys.exit(app.exec_())
既获得按钮,又获得id ,(获得按钮其实就可以获得id )
总结:
以上就是按钮组的介绍,它一般都是配合QRadioButton 和 QCheckBox 使用的!
qbuttongroup如何都不选中_将单选按钮和多选按钮分组的类QButtonGroup相关推荐
- qbuttongroup如何都不选中_全程马拉松,半程马拉松该如何跑?很多人都不知道这些细节...
现在已经到12月份了,全国各地的马拉松也接近尾声,回想自己这一年参加了多少次全程马拉松或半程马拉松? 很多人跑步最初的宗旨是为了减肥.为了健康,为了让自己拥有一个好身体,可是不知不觉中在朋友又或自己的 ...
- 【心善渊Selenium3.0基础】— 15、Selenium中单选按钮和多选按钮的操作
文章目录 1.页面中的单选按钮和多选按钮 2.判断按钮是否选中`is_selected()` 3.单选按钮的操作 4.多选按钮的操作 实现步骤: 示例: 5.选择部分多选按钮的操作 1.页面中的单选按 ...
- PHP 单选 多选的统计,使用单选按钮和多选按钮,制作带自动统计功能的调查问卷(一)...
我们在制作一份调查问卷时,可以插入多组单选按钮.多选按钮,并链接到单元格,然后通过公式来自动统计调查结果.在这里面有两个问题比较关键,第一个问题就是单选按钮怎么去分成多组,第二问题就是怎样用公式来自动 ...
- html自定义单选按钮,美化表单——自定义单选按钮和复选按钮
大家都知道,在Web的Form中美化是最头痛的,尤其是表单中的"input[type=checkbox]"."input[type="radio"]& ...
- java学习(76):GUL单选按钮和复选按钮
//单选按钮和复选按钮 //面向对象思想,面板,窗口的基础之上再加窗口 import java.awt.*; import javax.swing.*; public class test11 ext ...
- 单选按钮、复选按钮的简单应用
单选按钮.复选按钮简单应用 本人是初学者,参考前人代码,一边学习,一边把内容分享给大家...... 页面效果如下: survey.aspx中主要代码: <body> <for ...
- java76-GUL单选按钮和复选按钮
//单选按钮和复选按钮 //面向对象思想,面板,窗口的基础之上再加窗口 import java.awt.*; import javax.swing.*; public class test11 ext ...
- 单选按钮必填会有红色选中提示吗_为什么单选按钮和复选框不能共存?
以下内容由摹客团队翻译整理,仅供学习交流,摹客设计+协作一站式云平台,从产品.设计到开发,摹客来解决. 单选按钮和复选框长期以来一直都是容易导致用户困惑的组件.这两个组件通常用于相同的情景下,但看起来 ...
- radiogroup多选_单选按钮和多选按钮
[最后结果显示在一个界面中,但是分开理解] 1.单选按钮(RadioGroup:是单选按钮组和RadioButton) 1)在activity_main.xml中控件是线性布局 xmlns:andro ...
最新文章
- 机器学习数据预处理之缺失值:最小值最大值填充
- 【转】mysql增量备份恢复实战企业案例
- vue2.0 练习项目-外卖APP(2)
- C++虚继承(二) --- C++ 对象的内存布局(上)(陈皓)
- linux c之出现warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]这个问题
- 大学计算机网络期末重点,中南大学计算机网络期末复习重点
- python selenium 进入新标签页_python 爬虫之selenium可视化爬虫
- #ifndef #define #endif 和#pragma once的区别
- 计算机对民间音乐,《中国民间歌曲》
- 全面提升AI语言理解能力,达摩院自研语言模型体系登顶6大权威榜单
- jmeter中变量的作用范围_Jmeter参数化方式总结
- pthreads v3下一些坑和需要注意的地方
- numpy.outer
- windows 系列机器查看tcp 配置
- 身神话继续遭受DDOS进攻,也遭受了雷同的陵犯
- docker代理设置ssl证书_家用主机 篇六:群晖Docker配置SSL证书实现https安全访问
- 多聚赖氨酸大鼠血清白蛋白纳米粒|微囊藻毒素小麦麦清白蛋白纳米粒|雌三醇乳清白蛋白纳米粒Estriol-whey protein
- 如何设计一个可用的web容器
- 毕业设计 Stm32云平台的智能病房监控系统
- 【cocos2d-x入门实战】微信飞机大战之八:自定义敌机精灵
热门文章
- 傅占杰:VR体验与产品营销的本质
- 艾为电子年盈利1亿元:同比增速大幅下滑,科创板IPO暂时中止
- Cyan Worlds开源《Myst Online: Uru Live》
- Eclipse无法查看java源码
- 关于Git,你真的学会了吗?
- 联想Y410P在Ubuntu系统下开关机及插耳机破音“啪啪”的解决办法
- win8不能调节屏幕亮度解决方法
- 【愚公系列】2023年03月 .NET CORE工具案例-基于AntiXssUF的跨脚本XSS中间件
- 图像处理开源软件代码网站汇总(提供下载链接)
- Ufida U8v10.1 安装到sqlserver2008R2 故障转移集群