dev*_*dev 1 qt qtableview qcombobox
我有QTableView列之一中具有QComboBox。组合框显示来自矢量的数据,当我单击按钮时,这些数据会更新。当我启动应用程序时,组合框显示矢量中的所有项目。现在,我按下按钮(它将向向量中添加更多项目),但是组合框不会在向量中反映新数据。它仍然显示旧数据。一旦向量更新,我也将发出dataChanged(),但看不到任何变化。data()函数确实在模型中得到调用,该模型确实返回了向量的所有元素,但是setEditorData在委托中没有得到调用。
我错过了什么吗?
谢谢,
开发人员
然后,您需要执行以下功能:
void updateComboBox(QComboBox *comboToUpdate, const QStringList & list )
{
QString curentText = comboToUpdate->currntText();
comboToUpdate->clear();
comboToUpdate->insertItems(list);
comboToUpdate->setCurrentIndex(comboToUpdate->findText(currentText));
}
Run Code Online (Sandbox Code Playgroud)
线数
QString curentText = comboToUpdate->currntText();
...
comboToUpdate->setCurrentIndex(comboToUpdate->findText(currentText));
Run Code Online (Sandbox Code Playgroud)
是可选的,用于选择后不更改currentItem。
| 归档时间: |
|
| 查看次数: |
4383 次 |
| 最近记录: |