无法将 QButtonGroup::idClicked 连接到函数

问题描述

我正在尝试将 QButtonGroup 连接到一个函数。但我就是无法让它工作。

我的代码现在的样子:
ma​​inwindow.h:

public slots:
    void UserButtonGroup_idClicked(int id);

ma​​inwindow.cpp:

void MainWindow::UserButtonGroup_idClicked(int id) {
    ui->label->setText("Button #" + QString::number(id) + " was clicked!");
}

void MainWindow::refresh_user_buttons() {
    QButtonGroup UserButtonGroup(this);

    for(int i = 0; i<20; ++i){
        QPushButton* newButton = new QPushButton("Button " + QString::number(i));
        newButton->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
        ui->vl_users->addWidget(newButton);
        UserButtonGroup.addButton(newButton,i);
    }
    connect(&UserButtonGroup,&QButtonGroup::idClicked,this,&MainWindow::UserButtonGroup_idClicked);
}

我已经试过了(除了上面这个):
2.

connect(&UserButtonGroup,SIGNAL(idClicked(int)),SLOT(UserButtonGroup_idClicked(int));
  1. 使用插槽名称on_UserButtonGroup_idClicked(int id)
    名称自动连接

但这根本行不通。尝试方法 1 和 2 时,我不会收到任何错误或问题,但按钮不会执行任何操作。当尝试按名称连接插槽时,它会给出错误“on_UserButtonGroup_idClicked(int) 没有匹配信号”。

我希望你能帮我解决这个问题,因为我的想法不多了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)