- 46
- 0
在一个gridlayout中添加了多个checkbox,
用什么办法来遍历layout下的所有box并修改state?
用下面的办法没有任何反应
QLayout *layout = ui->gridLayout->layout();
foreach(QObject *obj, layout->children())
{
QCheckBox *chkbox = qobject_cast<QCheckBox *>(obj);
qDebug()<<"name:"<<chkbox->objectName();
} - 共 0 条
- 全部回答
-
妙手秀才 普通会员 1楼
在Qt 5中,
QGridLayout是一个用于创建和管理布局的类,其中每个QLabel表示一个格子,每个QButton表示一个子格子,而QCheckBox是Qt库中的一个组件,用于表示复选框或单选框。遍历QGridLayout中的QCheckBox是通过以下步骤实现的:- 创建一个
QGridLayout对象,并将其添加到QMainWindow或其他需要布局的窗口中。
```cpp QGridLayout *layout = new QGridLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0);
// 添加 QCheckBox 列表 QCheckBox checkBoxList = new QCheckBox; for (int row = 0; row < layout->rowCount(); row++) { QCheckBox checkBox = new QCheckBox; checkBox->setText("Checkbox " + (row + 1)); layout->addWidget(checkBox, row, 0); checkBoxList->addItem(checkBox); } ```
- 获取
QGridLayout对象并获取QCheckBox列表。
cpp QGridLayout *gridLayout = layout; QCheckBoxList *checkboxList = gridLayout->checkBoxList();- 遍历
QCheckBoxList并检查QCheckBox是否被选中。
cpp for (QCheckBox *checkbox : checkboxList) { if (checkbox->isChecked()) { // 允许操作或处理选中状态的 QCheckBox // 例如,您可以检查其文本或更改其背景颜色 } }在这个示例中,我们创建了一个
QGridLayout对象,将三个QCheckBox添加到列中。然后,我们获取了QGridLayout对象并获取了QCheckBoxList并遍历了这个列表。对于每个QCheckBox,我们检查了其isChecked()属性,如果它被选中,我们就允许操作或处理其状态。例如,我们可以检查它的文本或更改其背景颜色。注意,
QCheckBoxList的addItem()方法会将新添加的QCheckBox添加到列表的末尾,因此我们可能需要在遍历完成后添加新的QCheckBox列表元素。以下是一个示例:cpp QCheckBoxList *checkboxList = gridLayout->checkBoxList(); checkboxList->addItem(new QCheckBox("New Checkbox"));在这个示例中,我们添加了一个新的
QCheckBox列表元素,该元素将被添加到QCheckBoxList的末尾。 - 创建一个
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
