PyQt5 - QWidgets部件进阶教程之分组框

本文是一篇关于PyQt5中QWidgets部件分组框的高级教程,介绍了如何创建和管理不同类型的分组框,包括独立单选按钮、可勾选的复选框组、带有按钮的分组框等。通过实例代码详细阐述了如何构建和布局这些分组框,以实现用户界面的清晰组织。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导言

分组框是将按钮进行分组的容器部件,逻辑上和屏幕上显示都分组。它们管理用户和应用的相互关系,这样你就不用必须执行简单的限制。分组框通常用于将复选框和单选按钮分为独立组。
分组框案例包含一个视窗类,用作显示四个分组框——独立的单选按钮、非独立的复选框、有一个可用复选框的独立单选按钮组、普通按钮的分组框。


定义Window类

Window类是QWidget子类,用来显示一组分组框,类的定义包含了构建每个分组框和用不同按钮部件选项弹出它的函数。该案例中,部件将用做顶层视窗,所以构造器的定义使我们不必指定一个父部件。构造器创建了一个网格布局,并用每个分组框进行填充。

from PyQt5.QtWidgets import *

import sys

class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()

        self.grid = QGridLayout()
        self.grid.addWidget(self.createFistExclusiveGroup(), 0, 0)
        self.grid.addWidget(self.createSecondExclusiveGroup(), 1, 0)
        self.grid.addWidget(self.createNoneExclusiveGroup(), 0, 1)
        self.grid.addWidget(self.createPushButtonGroup(), 1, 1)
        self.setLayout(self.grid)

        self.setWindowTitle('Group Boxes')
        self.resize(480, 320)
  • 用于创建每个分组框的函数,每次返回一个QGroupBox,并插入到网格布局中。
    def createFistExclusiveGroup(self):
        groupBox = QGroupBox('Exclusive Radio Buttons')

        radiao1 = QRadioButton('&Radio Button 1')
        radiao2 = QRadioButton('R&adio Button 2')
        radiao3 = QRadioButton('Ra&dio Button 3')
        radiao1.setChecked(True)

        vbox = QVBoxLayout()
        vbox.addWidget(radiao1)
        vbox.addWidget(radiao2)
        vbox.addWidget(radiao3)
        vbox.addStretch(1)
        groupBox.setLayout(vbox)

        return groupBox
  • 第一个分组框包含并管理三个单选按钮&#x
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值