QComboBox动态项目列表
QComboBox dynamic list of items
我有两个QTableWidget
。我们称它们为Tab1
和Tab2
。Tab1
的一列包含QComboBox
e,其中它们的项目来自Tab2
。当Tab2
的元素被修改(添加/删除/编辑)时,我希望所有QComboBoxes
都更新。
Tab1概念
LineNo | Some Text | Select |
1 | QString | QComboBox |
2 | QString | QComboBox |
3 | QString | QComboBox |
| ... | ... |
n | QString | QComboBox |
Tab2
概念LineNo | Some Text |
1 | QString |
2 | QString |
3 | QString |
| ... |
n | QString |
目前QComboBoxe
s是这样填充的:
QStringList s; // List filled with data from Tab2
QTableWidget *tw = (QTableWidget*) ui->Tabspace->currentWidget()->childAt(10, 10);
QComboBox *names = new QComboBox();
names->addItems(s);
tw->setItem(row, 0, new QTableWidgetItem());
tw->setCellWidget(row, 0, names);
每次我向Tab1
添加一行时,都会启动此代码最简单的方法是在Tab2的项目内容发生变化时更改每个QComboBox
。我的问题是
有更好的方法来实现这一点吗?也许有一些方法传递指针到addItems()
或修改只是一个QComboBox
和克隆它?
使用QComboBox::setModel()与所有组合框共享一个模型。当更改选项卡2中的任何内容时,只需修改模型,组合框将自动更新。对于您的用例,QStringListModel似乎是一个很好的模型,尽管您当然可以在需要时使用更复杂的模型。
相关文章:
- 从链接列表c++中删除一个项目
- 如何维护资源管理器项目视图中当前可见的项目列表
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 在给定的项目列表上实现搜索?
- 从文本文件读取,然后将项目存储到列表中
- 无法在我的链接列表中插入项目,head始终为NULL
- 通过查找一对项目的代码获取错误的输出,在给定的总和相等的给定列表中列表
- 如何获得项目中所有UCLASSE的列表(蓝图和C )
- 在修改项目列表时,请防止可编辑的Qcombobox选择更改
- C MakeFile项目如何使用相同的Basename加上后缀和相同扩展名创建文件列表
- 如何在C 中以给定索引列表中的项目插入项目
- 在拖放 QML 列表中插入/删除项目使用 cpp 模型查看
- 丢失的项目最终列表
- LVM_GETNEXTITEM在列表视图中找不到项目
- 链接列表中最后一项之后的项目是否为0
- 我想使用列表中的项目在地图中搜索
- 发送 QML 项目列表C++类连接到 QML :M16 错误
- QTreeView中可见项目的列表
- 访问链接的列表项目从参考这些项目的参考文献中
- C 使用字符串项目在列表中查找结构