当前位置: 首页 > news >正文

网站建设包括哪些方面如何在百度上注册自己的网站

网站建设包括哪些方面,如何在百度上注册自己的网站,区域销售网站什么做,wordpress主题极简cho一、简介 QButtonGroup是PyQt5库中的一个组件,主要用于组织和管理一组按钮。通过QButtonGroup,可以方便地实现单选框或多选框功能,统一处理按钮的信号,并且可以为按钮分组设定ID以进行识别。 1、原始工程 from PyQt5.Qt import …

一、简介

QButtonGroup是PyQt5库中的一个组件,主要用于组织和管理一组按钮。通过QButtonGroup,可以方便地实现单选框或多选框功能,统一处理按钮的信号,并且可以为按钮分组设定ID以进行识别。

1、原始工程


from PyQt5.Qt import *
import sysapp = QApplication(sys.argv)window = QWidget()
window.setWindowTitle("按钮组的使用")
window.resize(500, 500)# 创建四个单选按钮
rb_male = QRadioButton("男", window)
rb_female = QRadioButton("女", window)
rb_male.move(100, 100)
rb_female.move(100, 150)rb_big = QRadioButton("大", window)
rb_small = QRadioButton("小", window)
rb_big.move(300, 100)
rb_small.move(300, 150)window.show()
sys.exit(app.exec_())

测试可发现,四个按钮都互斥,不符合使用逻辑。

2、解决方案

  1. 添加共同的父控件,此时同一个父控件内的QRadioButton互斥,但此种方式比较局限,且父控件是实体控件,不推荐。
  2. QButtonGroup方式,提供 一个抽象的按钮容器, 可以将多个按钮划分为一组,不具备可视化的效果,一般放的都是可以被检查的按钮,推荐使用。

二、功能介绍

1、创建和添加按钮

  1. api
api功能
addButton(QAbstractButton, id = -1)向按钮组中添加按钮
注:
  • 如果id为-1,则将为该按钮分配一个id。自动分配的ID保证为负数,从-2开始。
  • 如果要分配自己的ID,请使用正值以避免冲突
  1. 应用场景

    向按钮组中添加按钮, 并选择性设置ID。

  2. 代码

    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big, 1)
    size_group.addButton(rb_small, 2)#*******QButtonGroup创建和添加按钮 *******结束window.show()
    sys.exit(app.exec_())
    
  3. 测试结果

    在这里插入图片描述

2、查看按钮

  1. api

    api功能
    buttons()查看所有按钮组中的按钮
    button(ID)根据ID获取对应按钮, 没有则返回None
    checkedButton()获取选中的那个按钮
  2. 应用场景

    获取指定条件的按钮

  3. 修改代码

    
    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)
    rb_female.setChecked(True)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big, 1)
    size_group.addButton(rb_small, 2)#*******QButtonGroup创建和添加按钮 *******结束#*******查看按钮*******开始print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))
    print("查看 sex_group 中id为2的按钮:\n{}".format(sex_group.button(2)))
    print("查看 sex_group 中选中的按钮:\n{}".format(sex_group.checkedButton()))#*******查看按钮*******结束window.show()
    sys.exit(app.exec_())
  4. 测试结果

    在这里插入图片描述

3、移除按钮

  1. api

    api功能
    removeButton(QAbstractButton)移除指定按钮
  2. 应用场景

    移除指定按钮,只是从抽象关系上移除按钮。

  3. 修改代码

    
    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)
    rb_female.setChecked(True)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big, 1)
    size_group.addButton(rb_small, 2)#*******QButtonGroup创建和添加按钮 *******结束#*******查看按钮*******开始# print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))
    # print("查看 sex_group 中id为2的按钮:\n{}".format(sex_group.button(2)))
    # print("查看 sex_group 中选中的按钮:\n{}".format(sex_group.checkedButton()))#*******查看按钮*******结束#*******移除按钮*******开始
    sex_group.removeButton(rb_male)
    print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))#*******移除按钮*******结束window.show()
    sys.exit(app.exec_())
  4. 测试结果

    在这里插入图片描述

    打印发现只有一个按钮了。

4、QButtonGroup-ID操作

  1. api

    api功能
    setId(QAbstractButton,int)设置按钮id
    id(QAbstractButton)返回按钮对应的ID,如果不存在此按钮,则返回-1
    checkedId()选中按钮的ID,如果没有选中的按钮则返回-1
  2. 应用场景

    设置ID, 方便识别用户选项

  3. 修改代码,取消 size_group 添加button时设置的id,使用上述api操作

    
    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)
    rb_female.setChecked(True)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big)
    size_group.addButton(rb_small)#*******QButtonGroup创建和添加按钮 *******结束#*******查看按钮*******开始# print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))
    # print("查看 sex_group 中id为2的按钮:\n{}".format(sex_group.button(2)))
    # print("查看 sex_group 中选中的按钮:\n{}".format(sex_group.checkedButton()))#*******查看按钮*******结束#*******移除按钮*******开始
    # sex_group.removeButton(rb_male)
    # print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))#*******移除按钮*******结束#*******id操作*******开始
    size_group.setId(rb_big, 1)
    size_group.setId(rb_small, 2)# 打印按钮id
    print("rb_big按钮id:{}".format(size_group.id(rb_big)))# 打印被选中的按钮id
    print("打印被选中的按钮id:{}".format(size_group.checkedId()))#*******id操作*******结束window.show()
    sys.exit(app.exec_())
  4. 测试结果

    在这里插入图片描述

5、独占操作(也就是按钮是否互斥)

  1. api

    api功能
    setExclusive(bool)设置QButtonGroup中的按钮是否具有独占性(互斥选择)
    exclusive()返回当前QButtonGroup的独占状态
  2. 应用场景

    统一设置按钮组中的按钮是否是独占(选择互斥)

  3. 修改代码

    
    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)
    rb_female.setChecked(True)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big)
    size_group.addButton(rb_small)#*******QButtonGroup创建和添加按钮 *******结束#*******查看按钮*******开始# print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))
    # print("查看 sex_group 中id为2的按钮:\n{}".format(sex_group.button(2)))
    # print("查看 sex_group 中选中的按钮:\n{}".format(sex_group.checkedButton()))#*******查看按钮*******结束#*******移除按钮*******开始
    # sex_group.removeButton(rb_male)
    # print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))#*******移除按钮*******结束#*******id操作*******开始
    # size_group.setId(rb_big, 1)
    # size_group.setId(rb_small, 2)# 打印按钮id
    # print("rb_big按钮id:{}".format(size_group.id(rb_big)))# 打印被选中的按钮id
    # print("打印被选中的按钮id:{}".format(size_group.checkedId()))#*******id操作*******结束#*******独占状态*******开始
    print("sex_group的独占性为:{}".format(sex_group.exclusive()))
    # 设置独占性 为 非独占
    sex_group.setExclusive(False)
    print("修改后,sex_group的独占性为:{}".format(sex_group.exclusive()))#*******独占状态*******结束window.show()
    sys.exit(app.exec_())
  4. 测试结果

    在这里插入图片描述


三、信号

  1. api

    api功能
    buttonClicked(int/QAbstractButton)当按钮组中的按钮被点击时, 发射此信号
    buttonPressed(int/QAbstractButton)当按钮组中的按钮被按下时, 发射此信号
    buttonReleased(int/QAbstractButton)当按钮组中的按钮被释放时, 发射此信号
    buttonToggled(QAbstractButton/int, bool)当按钮组中的按钮被切换状态时, 发射此信号
  2. 应用场景

    监听用户的按钮点击事件,执行相应的逻辑操作。

  3. 修改代码

    
    from PyQt5.Qt import *
    import sysapp = QApplication(sys.argv)window = QWidget()
    window.setWindowTitle("按钮组的使用")
    window.resize(500, 500)#*******QButtonGroup创建和添加按钮 *******开始
    # 创建四个单选按钮
    rb_male = QRadioButton("男", window)
    rb_female = QRadioButton("女", window)
    rb_male.move(100, 100)
    rb_female.move(100, 150)
    rb_female.setChecked(True)rb_big = QRadioButton("大", window)
    rb_small = QRadioButton("小", window)
    rb_big.move(300, 100)
    rb_small.move(300, 150)# 创建QButtonGroup
    sex_group = QButtonGroup(window)
    sex_group.addButton(rb_male, 1)
    sex_group.addButton(rb_female, 2)size_group = QButtonGroup(window)
    size_group.addButton(rb_big)
    size_group.addButton(rb_small)#*******QButtonGroup创建和添加按钮 *******结束#*******查看按钮*******开始# print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))
    # print("查看 sex_group 中id为2的按钮:\n{}".format(sex_group.button(2)))
    # print("查看 sex_group 中选中的按钮:\n{}".format(sex_group.checkedButton()))#*******查看按钮*******结束#*******移除按钮*******开始
    # sex_group.removeButton(rb_male)
    # print("查看 sex_group 中所有按钮:\n{}".format(sex_group.buttons()))#*******移除按钮*******结束#*******id操作*******开始
    # size_group.setId(rb_big, 1)
    # size_group.setId(rb_small, 2)# 打印按钮id
    # print("rb_big按钮id:{}".format(size_group.id(rb_big)))# 打印被选中的按钮id
    # print("打印被选中的按钮id:{}".format(size_group.checkedId()))#*******id操作*******结束#*******独占状态*******开始
    # print("sex_group的独占性为:{}".format(sex_group.exclusive()))
    # 设置独占性 为 非独占
    # sex_group.setExclusive(False)
    # print("修改后,sex_group的独占性为:{}".format(sex_group.exclusive()))#*******独占状态*******结束#*******信号*******开始
    def on_button_clicked(button):print(f"Button clicked: {button.text()}")sex_group.buttonClicked.connect(on_button_clicked)#*******信号*******结束window.show()
    sys.exit(app.exec_())
  4. 测试结果

    在这里插入图片描述

http://www.yayakq.cn/news/797116/

相关文章:

  • 公司做网站需要什么条件电商运营怎么做的
  • 网站设计说明书主要有什么网站开发项目付款方式
  • 网站建设都包括什么元气森林的网络营销方式
  • 内蒙中国建设银行招聘网站装潢设计学校有哪些
  • 网站 设计公司 温州html企业网站模板
  • 网站开发用的是什么语言嵌入式软件开发项目
  • 做淘宝客网站会犯法吗怎样做编辑发到网站
  • 网站移动站泰安房产信息网官网
  • 网站建设方案策划书ppt互联网宣传方式有哪些
  • 那个网站直接回做二手发电机腾达建设网站
  • 网站建设通知书佛山营销网站建设咨询
  • 做网站没有高清图片怎么办电子商务基础网站建设与维护单项选择题
  • 网站建设方案书的内容管理制度宁波本地抖音seo推广
  • 网站模板下载地址简单风景网站模版
  • 海外贸易网站网站续费合同
  • 怎么样用html做asp网站微信网站api
  • PHP网站名字建工集团领导班子名单
  • 响应式网站微博视频网店装修流程
  • 网站做网站反向代理违法网站建设模板可用吗
  • 网站建设公司选择哪家好优化网站排名如何
  • 百度网站流量查询drupal 做的网站
  • 网站开发行业发展前景微信支付 网站备案
  • 网站哪家做的比较好为什么做电商网站
  • app手机端电子商务网站功能临海网站开发公司电话
  • 开发手机端网站模板网站怎么提交收录
  • 做游戏网站的前景做视频网站可以自学吗
  • 宣城做网站公司产品企业网站
  • 网站推广服务网站连锁增城电子商务网站建设
  • 做资金盘 互助盘的网站上海公关公司有哪些
  • 重庆企业网站推广代理宁波百度推广优化