首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QRadioButton阵列问题

QRadioButton阵列问题
EN

Stack Overflow用户
提问于 2012-03-27 18:20:21
回答 1查看 617关注 0票数 2

我创建了一个QRadioButton数组,并尝试用六个radioButtons初始化它。此时,当我用对象填充数组时,我没有收到任何警告或错误。但是当我尝试查看单选按钮是否被选中时,所有单选按钮都会崩溃,但数组中的第一项不会崩溃。代码如下:

代码语言:javascript
复制
// 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
   }

然后进行检查:

代码语言:javascript
复制
  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";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-27 19:00:01

我不知道到底是什么导致了你的崩溃,但我建议你利用C++特性和Qt容器,而不是操纵C风格的数组。试试这个:

代码语言:javascript
复制
// 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);
}

剩下的代码应该可以很好地执行

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9887619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档