Pyside6 &Pyside2使用QRadioButton(单选按钮)的正确方法

本文介绍了如何在PySide6和PySide2中正确使用QRadioButton,包括当按钮被选择事件触发时如何处理,以及如何通过QButtonGroup结合槽函数来确定选中按钮,并列举了QButtonGroup的常用方法。此外,还提供了QT UI转换成的ui_main.py代码片段。

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

一、当按钮被选择事件触发:

当其中一个QRadioButton被选中后,GUI界面会去处理对应的函数或者显示不同的功能(只是一个栗子,我下面说的是方法)
请添加图片描述


二、实现方法:

在使用QRadioButton时,我们配合QButtonGroup来确认当前那个按钮被选中;
方法是把QRadioButton加入QButtonGroup组内,而QButtonGroup可以绑定到自定义的槽函数上,利用QButtonGroup的方法确认对应的点击的按钮;这样就可以再定义其他的函数来处理选中当前按钮,实现上图的效果

请添加图片描述

# -*- coding:utf-8 -*-
################################################################################
##
# # Design Main Windows
# # BY: 扣脚大汉
# # PROJECT MADE WITH: Qt Designer and PySide6
# # V: 1.0.0
##
################################################################################
from PySide6.QtWidgets import QMainWindow, QButtonGroup
from PySide6 import QtWidgets
from PySide6.QtCore import Signal
import sys
from ui_main import Ui_MainWindow  # 导入主窗口的UI代码


class MainWindow(QMainWindow):
    main_Signal = Signal(str)
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.intiUi()

    # # 初始化按钮事件
    ########################################################################
    def intiUi(self):
        btn_group = QButtonGroup(self)
        btn_group.addButton(self.ui.rbtn1, 0)
        btn_group.addButton(self.ui.rbtn2, 1)
        btn_group.buttonClicked.connect(self.rbtnClicked
使用PySide6时,控制单选按钮(RadioButton)的宽度可以通过多种方式实现。以下是一些方法: 1. 使用`setMinimumWidth()`和`setMaximumWidth()`方法:这两个方法可以分别设置单选按钮的最小宽度和最大宽度。设置最小宽度可以确保单选按钮在界面上不会被压缩得太小,而设置最大宽度可以避免单选按钮被拉伸得过宽。 ```python radioButton = QRadioButton("选项") radioButton.setMinimumWidth(100) radioButton.setMaximumWidth(200) ``` 2. 使用布局管理器(Layout Manager):通过将单选按钮放置在布局管理器中,并通过调整布局的大小策略来间接控制单选按钮的宽度。例如,可以在布局中使用`setStretch()`或`setStretchFactor()`方法来设置控件的伸缩因子,从而影响单选按钮的宽度。 ```python layout = QVBoxLayout() radioButton = QRadioButton("选项") layout.addWidget(radioButton) layout.setStretchFactor(radioButton, 1) # 设置单选按钮的伸缩因子 ``` 3. 使用样式表(QSS):可以通过设置控件的样式表来控制单选按钮的宽度,通过调整`width`属性来指定宽度。 ```python radioButton = QRadioButton("选项") radioButton.setStyleSheet("QRadioButton { width: 100px; }") ``` 4. 修改单选按钮内部控件的尺寸策略:单选按钮内部通常包含一个标签和一个小的圆形按钮,可以通过修改这些内部控件的尺寸策略来控制宽度。 ```python radioButton = QRadioButton("选项") radioButton.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扣脚&&大汉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值