我创建了一个QRadioButton数组,并尝试用六个radioButtons初始化它。此时,当我用对象填充数组时,我没有收到任何警告或错误。但是当我尝试查看单选按钮是否被选中时,所有单选按钮都会崩溃,但数组中的第一项不会崩溃。代码如下:
// rd is declared in .h as QRadioButton *rd[6];
for (int c=0,c<6,c++) {
rd[c] = new QRadioButton("name");
verticalBox->addWidget(rd[c]); // it's a layout
}然后进行检查:
if (rd[0]->isChecked() == true)
qDebug()<<"checked";
else if (rd[1]->isChecked() == true)
qDebug()<<"checked";
else if (rd[2]->isChecked() == true)
qDebug()<<"checked";
else if (rd[3]->isChecked() == true)
qDebug()<<"checked";
else if (rd[4]->isChecked() == true)
qDebug()<<"checked";
else if (rd[5]->isChecked() == true)
qDebug()<<"checked";发布于 2012-03-27 19:00:01
我不知道到底是什么导致了你的崩溃,但我建议你利用C++特性和Qt容器,而不是操纵C风格的数组。试试这个:
// rd is declared in .h as QList<QRadioButton*> rd;
for (int i=0; i<6; ++i) {
QRadioButton * radio_btn = new QRadioButton("name");
rd << radio_btn; // append radio button to the list
verticalBox->addWidget(radio_btn);
}剩下的代码应该可以很好地执行
https://stackoverflow.com/questions/9887619
复制相似问题