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

PyQt6之分组框

示例代码:

# _*_ coding: UTF-8 _*_
# 开发团队 : 大军安全
# 开发人员 : Dreams
# 开发时间 : 2025/9/19 23:12
# 文件名称 : groupBox.py
# 开发工具 :  PyCharm
# 开发任务 :  分组框示例
import sysfrom PyQt6.QtWidgets import QWidget, QRadioButton, QHBoxLayout, QVBoxLayout, QGroupBox, QApplicationclass DemoWidget(QWidget):def __init__(self):super(DemoWidget, self).__init__()# 分别创建4个专业单选按钮,然后将他们作为列表项self.rbJSJ = QRadioButton("计算机", self)self.rbRJGC = QRadioButton("软件工程", self)self.rbTXGC = QRadioButton("通信工程", self)self.rbRGZN = QRadioButton("人工智能", self)self.list = [self.rbJSJ, self.rbRJGC, self.rbTXGC, self.rbRGZN][rb.clicked.connect(self.rbListFunc) for rb in self.list]# 分别创建两个性别单选按钮self.rbNan = QRadioButton("男", self)self.rbNv = QRadioButton("女", self)self.rbNan.toggled.connect(self.rbNxxFunc)# 'nv' 单选按钮关联槽函数rbNxxFunc# 创建两个水平布局、一个外垂直布局self.hLayout1 = QHBoxLayout()self.hLayout2 = QHBoxLayout()self.vLayout = QVBoxLayout()self.layout_init()def layout_init(self):# 两个性别单选按钮加入水平布局1self.hLayout1.addWidget(self.rbNan)self.hLayout1.addWidget(self.rbNv)# 四个专业单选按钮加入水平布局2self.hLayout2.addWidget(self.rbJSJ)self.hLayout2.addWidget(self.rbRJGC)self.hLayout2.addWidget(self.rbTXGC)self.hLayout2.addWidget(self.rbRGZN)# 创建性别和单选按钮组self.gbox1 = QGroupBox("性别", self)self.gbox2 = QGroupBox("专业", self)# 将内部水平布局1设置咱i性别单选按钮组中,内部水平布局2设置在专业单选按钮组中self.gbox1.setLayout(self.hLayout1)self.gbox2.setLayout(self.hLayout2)# 将性别和专业单选按钮组加入外垂直布局self.vLayout.addWidget(self.gbox1)self.vLayout.addWidget(self.gbox2)self.rbNan.setChecked(True)self.rbRJGC.setChecked(True)self.setLayout(self.vLayout)def rbListFunc(self):# 遍历专业对象列表项,如果列表项被选中,显示列表现文本for rb in self.list:if rb.isChecked():print(rb.text())def rbNxxFunc(self):# 如果“男”单选按钮被选中显示“男”,否则显示“女”if self.rbNan.isChecked():print(self.rbNan.text())else:print(self.rbNv.text())
if __name__ == '__main__':app = QApplication(sys.argv)demo = DemoWidget()demo.show()sys.exit(app.exec())

示例效果:

http://www.dtcms.com/a/391583.html

相关文章:

  • 深度剖析 IM 单聊与群聊架构设计
  • 农业自动化:技术重塑传统农业的新范式
  • Nginx 日志文件在哪?
  • 小程序开发者转多端应用app调整视频播放功能
  • 九、Java-注解
  • Java学习笔记——AI插件、新建模块、算数运算符类型、隐式转换、强制转换、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符
  • 【从零开始刷力扣006】leetcode206
  • FreeRTOS——介绍及移植过程
  • Day 07 Physics list-----以B1为例
  • 重读一次IS015765-2,记录对错误和异常处理的方式
  • Edge浏览器CSDN文章编辑时一按shift就乱了(Edge shift键)欧路翻译问题(按Shift翻译鼠标所在段落)
  • SpringIoc 基础练习 验证码
  • 前端项目,CDN预热有什么用?
  • TF卡的存储数据结构—fat32格式
  • led的带宽在模拟太阳光中设备中的影响
  • go资深之路笔记(三) sync.WaitGroup, sync.errgroup和 sync.go-multierror
  • Docker 与数据库环境
  • Node.js 模块系统详解
  • proxy代理应用记录
  • 基于python大数据的汽车数据分析系统设计与实现
  • WebSocket实现原理
  • 从保存到加载Docker镜像文件操作全图解
  • IDEA文件修改后改变文件名和文件夹颜色
  • 【MySQL 】MySQL 入门之旅 · 第十篇:子查询与嵌套查询
  • TM52F1376 SSOP24电子元器件 HITENX海速芯 8位微控制器MCU 芯片 深度解析
  • 基于Matlab图像处理的工件表面缺陷检测系统
  • 业务上云实践MYSQL架构改造
  • 深入解析TCP/IP协议分层与通信原理
  • 【人工智能通识专栏】第二十讲:科创项目选题
  • 数据治理系列(三):SQL2API 平台格局与发展趋势