c++ - Qt 互斥复选框
问题描述
我想在 Qt 中创建一组互斥复选框(没有 Qt Designer 或任何花哨的东西)。使用三个复选框,我可以在操作函数中执行以下操作:
void mainWindow::checkbox1action() {
// mutual exclusivity
checkbox2->setChecked(!checkbox1->isChecked());
checkbox3->setChecked(!checkbox1->isChecked());
// action for checkbox 1
...
}
同样适用于所有其他复选框。但是,如果有 15 个颜色复选框,则此操作变得非常重复。对于许多复选框,还有其他更好的方法吗?
解决方案
您可以将复选框添加到QButtonGroup并将其设置为独占。
QButtonGroup *group = new QButtonGroup(this);
group->setExclusive(true);
group->addButton(checkbox1);
group->addButton(checkbox2);
还有QRadioButton,它在同一个小部件中自动排他。
推荐阅读
- java - spring websocket 无法建立连接
- google-apps-script - 我需要使用 Google Apps 脚本反转选定的幻灯片顺序
- javascript - Firestore 验证日期(参数“秒”的值必须在 [-62135596800, 253402300799] 范围内)
- python - 查看 PySpark 脚本的 Glue 作业输出的最佳方式
- javascript - 使用 javascript 读取 Excel 文件并将其存储在数组中
- powershell - 获取 SharePoint Online 术语集并在 PowerShell 中不存在时创建术语
- php - 由于用户的变化,如何在 woocommerce 中更改购物车页面?
- vb.net - 如何使用 Ref 游标调用 Oracle 函数并在 Visual Basic 上返回值
- visual-studio-code - VS Code 远程服务器扩展显示“正在尝试重新连接”
- azure - 在哪里可以找到我的 VNet 配置以及我在 Azure 上的 Web 应用程序?