C++ (Qt)从QButton按钮组创建信号?

C++ (Qt)从QButton按钮组创建信号?,c++,qt,signals-slots,qpushbutton,C++,Qt,Signals Slots,Qpushbutton,我对这整件事的运作方式感到困惑 我有一些按钮,我把它们放在这样一个组中: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); AddSlotsToGroup(); } void MainWindow::AddSlotsToGroup() { QButtonGroup* group = ne

我对这整件事的运作方式感到困惑

我有一些按钮,我把它们放在这样一个组中:

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

void MainWindow::AddSlotsToGroup()
{
    QButtonGroup* group = new QButtonGroup(this);
    group->addButton(ui->slot_0);
    group->addButton(ui->slot_1);
    //...
}
我想创建一个槽,获取在该组中单击的按钮的id。(如果我解释得不好,很抱歉:()

这就是我所做的(谷歌搜索后纯粹的猜测)

MainWindow::MainWindow(QWidget*父项):
QMainWindow(父级),
用户界面(新用户界面::主窗口)
{
用户界面->设置用户界面(此);
AddSlotsToGroup();
连接(QPushButton*组,信号(buttonClicked(int)),此,插槽(onGroupButtonClicked(int));
}
void主窗口::onGroupButtonClicked(int id)
{
qDebug()尝试以下操作:

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

void MainWindow::AddSlotsToGroup()
{
    QButtonGroup* group = new QButtonGroup(this);
    group->addButton(ui->slot_0);
    group->addButton(ui->slot_1);
    //...
    connect(group, SIGNAL(buttonClicked(int)),
            this, SLOT(onGroupButtonClicked(int)));
}
connect(group, SIGNAL(buttonClicked(int)), this, SLOT(onGroupButtonClicked(int)));
顺便说一下,你需要先学习C++来掌握Qt。

尝试以下内容:

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

void MainWindow::AddSlotsToGroup()
{
    QButtonGroup* group = new QButtonGroup(this);
    group->addButton(ui->slot_0);
    group->addButton(ui->slot_1);
    //...
    connect(group, SIGNAL(buttonClicked(int)),
            this, SLOT(onGroupButtonClicked(int)));
}
connect(group, SIGNAL(buttonClicked(int)), this, SLOT(onGroupButtonClicked(int)));

顺便说一下,首先需要学习C++来掌握Qt。

首先,你需要包含qButnGypult.

#include <QButtonGroup>

首先,您需要包括QButtonGroup

#include <QButtonGroup>

是的,我已经添加了包含语句。我还没有学习什么类,因为我仍然学习C++。谢谢你的答案:是的,我已经添加了包含语句。我还没有学习到一个类是什么,因为我还在学习C++。谢谢你的回答:)这是非常完美的:)我不能对你表示感谢。一个很快的问题。在我的插槽里,“空洞主窗口::OnGROMPUnButnCut剔(int id)”我做了“关于AddButt的文档”的Qudbug(…)自动分配的ID保证为负值,从-2开始。如果您也分配自己的ID,请使用正值以避免冲突。“…这些id始终为负数。谢谢:)我将在添加按钮时研究添加id这工作非常完美:)我非常感谢你!不过有一个简单的问题。在我的槽中,“void MainWindow::onGroupButtonClicked(int id)”我做了这个“qDebug()关于addButton的文档…”自动分配的id保证为负值,从-2开始。如果您也分配自己的id,请使用正值以避免冲突。“…这些id始终为负值。谢谢:)我将在添加按钮时查看添加id的情况