QButtonGroup未声明的标识符?

时间:2013-08-26 03:45:07

标签: c++ qt undeclared-identifier

在我的项目中,我有256个PushButtons,我创建了一个函数,将它们全部添加到QButtonGroup。

void MainWindow::AddBlocksToGroup()
{
    QButtonGroup* blockGroup = new QButtonGroup(this);
    blockGroup->addButton(ui->Oblock_0, 0);
    blockGroup->addButton(ui->Oblock_1, 1);
    blockGroup->addButton(ui->Oblock_2, 2);
    ...
    blockGroup->addButton(ui->Oblock_255, 255);
}

是的,我知道有更好的方法可以做到这一点,而不是一次一个,但这让我的大脑更快乐。洛尔

稍后在我的程序中(在后面的函数中),我想循环遍历所有按钮并为每个按钮更改一些参数。 (例如更改文本)

for(int i=0; i<=255; i++)
{
    blockGroup->button(i)->setText("Test");
}

但是我在循环中获得了blockGroup的未声明标识符。有人可以告诉我为什么和/或如何解决这个问题?

感谢您的时间:)

1 个答案:

答案 0 :(得分:1)

QButtonGroup* blockGroup;声明为MainWindow类中的成员,而不是将其声明为void MainWindow::AddBlocksToGroup()的局部变量,并且可以从以后的成员函数访问它。 //不要忘记将类QButtonGroup的前向声明添加到MainWindow头文件