gpt4 book ai didi

c++ - (Qt) 从按钮的 QButtonGroup 创建信号?

转载 作者:行者123 更新时间:2023-11-30 01:58:16 30 4
gpt4 key购买 nike

我对这整个事情的运作方式感到很困惑。

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

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 *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
AddSlotsToGroup();
connect(QPushButton* group, SIGNAL(buttonClicked(int)), this, SLOT(onGroupButtonClicked(int)));
}

void MainWindow::onGroupButtonClicked(int id)
{
qDebug() << id;
}

毫不奇怪,我收到一条错误消息,指出组是未声明的标识符,并且 QPushButton 是非法使用等。

我不想说我只使用过设计器窗口中的信号/插槽,所以我真的只需要这一件东西,然后我就为 future 做好了准备。 :)

感谢您的宝贵时间。 :)

最佳答案

尝试以下操作:

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)));
}

顺便说一句,你需要先学习C++才能掌握Qt。

关于c++ - (Qt) 从按钮的 QButtonGroup 创建信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647823/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com