QT中QRadioButton分组——QRadioButton、QButtonGroup的使用

本文针对于使用QButtonGroup来对QRadioButton进行分组。

Github地址:https://github.com/phoerain/groupButton.git

示例操作图

源码 

1.拖拽QRadioButton控件到ui

2..h文件中加入头文件#include <QButtonGroup>

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QButtonGroup>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

3..cpp文件中创建分组

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //分组
    QButtonGroup *group1 = new QButtonGroup;
    group1->addButton(ui->radioButton);
    group1->addButton(ui->radioButton_2);
    group1->addButton(ui->radioButton_3);
    QButtonGroup *group2 = new QButtonGroup;
    group2->addButton(ui->radioButton_4);
    group2->addButton(ui->radioButton_5);
    group2->addButton(ui->radioButton_6);
    QButtonGroup *group3 = new QButtonGroup;
    group3->addButton(ui->radioButton_7);
    group3->addButton(ui->radioButton_8);
    group3->addButton(ui->radioButton_9);
}

MainWindow::~MainWindow()
{
    delete ui;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: QRadioButton控件是Qt的一个单选按钮控件,用于在多个选项选择一个选项。使用QRadioButton控件的方法如下: 1. 在Qt Designer将QRadioButton控件拖放到窗口。 2. 在属性编辑器设置QRadioButton控件的属性,如文本、选状态等。 3. 将多个QRadioButton控件放置在同一个QButtonGroup控件,以实现单选功能。 4. 在代码使用connect函数将QRadioButton控件的toggled信号连接到槽函数,以处理选状态的改变。 例如,以下代码演示了如何使用QRadioButton控件: ```cpp // 创建两个QRadioButton控件 QRadioButton *radioButton1 = new QRadioButton("选项1"); QRadioButton *radioButton2 = new QRadioButton("选项2"); // 将两个QRadioButton控件放置在同一个QButtonGroup控件 QButtonGroup *buttonGroup = new QButtonGroup(); buttonGroup->addButton(radioButton1); buttonGroup->addButton(radioButton2); // 将QRadioButton控件的toggled信号连接到槽函数 connect(radioButton1, SIGNAL(toggled(bool)), this, SLOT(onRadioButtonToggled(bool))); connect(radioButton2, SIGNAL(toggled(bool)), this, SLOT(onRadioButtonToggled(bool))); // 处理选状态的改变 void MainWindow::onRadioButtonToggled(bool checked) { if (checked) { QRadioButton *radioButton = qobject_cast<QRadioButton *>(sender()); qDebug() << "选了" << radioButton->text(); } } ``` 以上代码创建了两个QRadioButton控件,并将它们放置在同一个QButtonGroup控件,以实现单选功能。然后将QRadioButton控件的toggled信号连接到槽函数,以处理选状态的改变。在槽函数使用qobject_cast函数将sender()转换为QRadioButton指针,以获取选的QRadioButton控件的文本。 ### 回答2: QRadioButton控件是Qt的一种基础控件,它允许用户从一组互不相关的选项进行单选。在Qt,我们可以使用QRadioButton控件来实现单选框及复选框等功能。 使用QRadioButton控件的方法如下: 1.在Qt设计师将QRadioButton控件拖到所需的窗口区域; 2.右键单击该控件,选择编辑文本,修改默认显示的文本内容,如“是”、“否”等; 3.如果需要设置QRadioButton控件的属性,可以在属性检查器进行设置。 在代码操作QRadioButton控件也非常简单,仅需使用QPushButton类实例的setChecked()函数即可。例如,我们可以使用以下代码实现QRadioButton控件的单选功能: ``` QRadioButton *radioButton1 = new QRadioButton("是"); QRadioButton *radioButton2 = new QRadioButton("否"); QButtonGroup *buttonGroup = new QButtonGroup; buttonGroup->addButton(radioButton1, 0); buttonGroup->addButton(radioButton2, 1); connect(buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(handleButtonClick(int))); ``` 上述代码首先使用QRadioButton类构造函数创建两个选项“是”和“否”,然后使用QButtonGroup类将它们组合起来。最后,使用connect()函数将buttonClicked()信号连接到一个槽函数,用于处理用户的单选操作。其,handleButtonClick()函数的实现如下: ``` void MyClass::handleButtonClick(int id) { if(id == 0) { qDebug() << "用户选择了选项“是”"; }else if(id == 1) { qDebug() << "用户选择了选项“否”"; } } ``` 以上是QRadioButton控件的基本使用方法,希望对您有所帮助! ### 回答3: QRadioButtonQT的一个控件,它是一个单选按钮。在QT使用QRadioButton控件非常简单,可以通过以下几个步骤进行: 1.在QT设计器拖拽QRadioButton控件到窗口并设置其属性,例如设置文本、字体颜色、背景颜色等。 2.在代码访问QRadioButton控件,需要在头文件包含QRadioButton的头文件。 3.使用QRadioButton的setChecked()函数设置哪个单选按钮被选,例如: radioButton1->setChecked(true); radioButton2->setChecked(false); 这样radioButton1就被选了,radioButton2被取消选状态。 4.使用QRadioButton的isChecked()函数判断某个单选按钮是否被选,例如: if(radioButton1->isChecked()) { // 代码块 } 这样如果radioButton1被选就会执行代码块。 5.还可以将多个QRadioButton控件在一个QButtonGroup,从而实现多个单选按钮互相排斥,只能选一个。 QRadioButton控件使用方法非常简单,需要注意的是,在多个单选按钮使用时,一定要将它们放在同一个QButtonGroup,从而保证多个单选按钮互相排斥。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值