继承  QObject

提供 一个抽象的按钮容器, 可以将多个按钮划分为一组,不具备可视化的效果,一般放的都是可以被检查的按钮

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton,QButtonGroup class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.resize(300,300)
self.rb1=QRadioButton('男',self)
self.rb2 = QRadioButton('女', self)
self.rb3 = QRadioButton('是', self)
self.rb4 = QRadioButton('否', self)
self.rb = QRadioButton('人妖', self)
self.rb1.move(50,50)
self.rb2.move(50, 80)
self.rb.move(50, 110)
self.rb3.move(150, 50)
self.rb4.move(150, 80)
self.rb1.setChecked(True)
zu1=QButtonGroup(self) #创建一个按钮分组实例
zu2 = QButtonGroup(self)
zu1.addButton(self.rb1,1) #给按钮分组实例添加按钮
#参数2 给按钮设置一个id,不同分组的id可以重复
#如果id为-1,则将为该按钮分配一个id。自动分配的ID保证为负数,从-2开始。
zu1.addButton(self.rb2,2)
zu1.addButton(self.rb, 3)
zu2.addButton(self.rb3)
zu2.addButton(self.rb4) print(zu1.buttons()) #返回按钮组中的所有按钮
print(zu1.button(2)) #返回按钮组中指定按钮
print(zu1.checkedButton()) #返回按钮组中被选中的按钮
zu1.removeButton(self.rb) #从按钮组中移除指定按钮;不是删除按钮 zu2.setId(self.rb3,4) #给组中的按钮设置id
zu2.setId(self.rb4, 5)
print(zu2.id(self.rb3)) #返回按钮id
#如果不存在此按钮,则返回-1
print(zu1.checkedId()) #返回选中按钮的id zu2.setExclusive(True) #独占 ??? #zu2.buttonClicked.connect(self.A) #组中按钮被点击时发出信号
#会向槽函数传递被点击的按钮
#zu2.buttonClicked[int].connect(self.A) # 组中按钮被点击时发出信号
# [int]会向槽函数传递被点击按钮的id,而不是传递按钮 zu2.buttonToggled.connect(self.B) #当按钮组中的按钮被切换状态时, 发射此信号
#会向槽函数传递状态发生改变的按钮 def B(self,i):
print('zu2切换了按钮',i) def A(self,i):
print('zu2被点击了',i) if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())

buttonPressed(int/QAbstractButton)      当按钮组中的按钮被按下时, 发射此信号

buttonReleased(int/QAbstractButton)     当按钮组中的按钮被释放时, 发射此信号

天子骄龙

QButtonGroup按钮组的更多相关文章

  1. Qt编写自定义控件8-动画按钮组控件

    前言 动画按钮组控件可以用来当做各种漂亮的导航条用,既可以设置成顶部底部+左侧右侧,还自带精美的滑动效果,还可以设置悬停滑动等各种颜色,原创作者雨田哥(QQ:3246214072),驰骋Qt控件界多年 ...

  2. Bootstrap3系列:按钮组

    1. 基本实例 1.1 示例代码 <div class="btn-group"> <button type="button" class=&q ...

  3. Bootstrap<基础十三> 按钮组

    按钮组允许多个按钮被堆叠在同一行上.当你想要把按钮对齐在一起时,这就显得非常有用.你可以通过Bootstrap 按钮(Button) 插件 添加可选的 JavaScript 单选框和复选框样式行为. ...

  4. bootstrap按钮组

    种类 -a,   input ,   button 块级 btn-block 按钮组 btn-group btn-group-justified btn-group-vertical </div ...

  5. VC++ 动态生成 成组的 RadioButton 按钮组

    先说一下 静态创建的方法: 单选按钮也属于CButton类,但由于单选按钮总是成组使用的,所以它在制作和使用上与普通按钮有一定区别.假设有三个单选按钮组成一组,初始时,第一个单选按钮处于选中状态.我们 ...

  6. Bootstrap系列 -- 29. 按钮组

    单个按钮在Web页面中的运用有时候并不能满足我们的业务需求,常常会看到将多个按钮组合在一起使用,比如富文本编辑器里的一组小图标按钮等 按钮组和下拉菜单组件一样,需要依赖于button.js插件才能正常 ...

  7. bootstrap学习笔记<十>(按钮组,导航)

    1)按钮组.样式:class="btn-group" <div class="btn-group"> <button class=" ...

  8. Bootstrap--组件之按钮组

    什么是按钮组呢?简单解释:就是把一堆的按钮放在一行或者一列中.下面来看一个实例. 按钮组嘛,首先是按钮,所以会用到.btn这个类,还有就是bootstrap提供的按钮组.btn-group这个类,所以 ...

  9. BootStrap 按钮组简单介绍

    学会按钮组需要掌握以下几个类. btn   btn-group btn-toolbar  btn-group-vertical   和 下拉菜单的基本类 dropdown-toggle dropdow ...

随机推荐

  1. Excel自定义公式,类似VLOOKUP的查询

    Excel在使用VLOOKUP时,当检索值超过255长度的时候就会报错,没法正常检索. 官方提供的办法是通过INDEX和MATCH公式组合使用来解决. 微软官方方案 1,公式 =INDEX($A$5: ...

  2. Docker: Jenkins与Docker的自动化CI/CD流水线实战

    什么是CI/CD 持续集成(Continuous Integration,CI):代码合并.构建.部署.测试都在一起,不断地执行这个过程,并对结果反馈.持续部署(Continuous Deployme ...

  3. 【shell基础】if分支语句

    1.if判断式if [ 条件判断一 ] && (||) [ 条件判断二 ]; thenelif [ 条件判断三 ] && (||) [ 条件判断四 ]; thenels ...

  4. Codeforces #550 (Div3) - G.Two Merged Sequences(dp / 贪心)

    Problem  Codeforces #550 (Div3) - G.Two Merged Sequences Time Limit: 2000 mSec Problem Description T ...

  5. 安装Linux虚拟系统

    VMWare创建虚拟机与Linux系统的安装 准备工作:VMWare虚拟机,Linux系统镜像 创建好虚拟机之后就可以进入Bios(Basic input ouput system)界面设置安装引导顺 ...

  6. 逆向-攻防世界-CSAW2013Reversing2

    运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b. ...

  7. 【zabbix教程系列】七、自动注册(Windows)

    零.页面操作,设置自动注册Windows 配置--->动作--->事件源选为自动注册---->创建动作 填写名称,配置触发条件 主机元数据   值为 Windows 操作 一.Win ...

  8. Linux几大服务

    server0操作: 1.创建/devops目录,并修改其SELINUX安全上下文 # mkdir /devops # vim /devops/1.mp3# chcon -R -t samba_sha ...

  9. Manjaro折腾简单记录

    0.Manjaro启动U盘的制作 推荐使用4-16G容量的U盘,避免兼容性问题(U盘太大可能会无法启动). 用rufus就可以,注意选用DD模式才能成功制作. 如果在linux环境里,先用sudo f ...

  10. anaconda相关使用方法

    本文不涉及anaconda的安装,如果需要请自行搜索,cnblogs和CSDN都挺多的. conda安装完,大部分人都jupyter notebook的使用需求,jupyter的开启命令是什么呢? j ...