微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法将 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 举报,一经查实,本站将立刻删除。