gpt4 book ai didi

c++ - Qt - 遍历 QRadioButtons

转载 作者:太空狗 更新时间:2023-10-29 21:07:14 27 4
gpt4 key购买 nike

我正在为学校开展一个小组项目。我组的一个成员创建了一个有大约 75 个单选按钮的窗口。我想在按下按钮时强制所有这些都“清除”或“未选中”。

有人知道这样做的好方法吗?我一直在研究 QObjectList 但我不能简单地做 QObjectList *children = new QObjectList(ui->groupBox->children());并使用 for 循环循环它们,因为 QObjectList 似乎没有 next 方法..

我也试过做类似的事情

QObjectList *children = new QObjectList(ui->groupBox->children());
for(QObject *iterator = children.first(); iterator!=NULL; children.pop_front()){
iterator = children.first();
iterator->at(0)->setCheckabled(false);
}

但是因为迭代器是一个 QObject,所以 setCheckable 不像单选按钮那样存在。

想法/提示将不胜感激。

编辑:我什至会提示一种循环访问具有相似名称的变量的方法。例如,我所有的单选按钮都被命名为 RadioButton_1、RadioButton_2 等。

最佳答案

使用 QButtonGroup , 将其设置为独占(然后一次只会检查一个单选按钮)。它还会为您提供当前选中的按钮,以防您也想取消选中它。 (根本没有选中的按钮)。

另请注意,您可能想要修改的是“checked”属性,而不是“checkable”(其中 false 表示按钮根本无法选中/取消选中)。

关于c++ - Qt - 遍历 QRadioButtons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5598487/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com