0

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

我的代码现在看起来像什么:
mainwindow.h:

public slots:
    void UserButtonGroup_idClicked(int id);

主窗口.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)), this, SLOT(UserButtonGroup_idClicked(int));
  1. 使用插槽名称:on_UserButtonGroup_idClicked(int id)
    按名称自动连接。

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

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

4

0 回答 0