gpt4 book ai didi

qt - 如何在QTableView中刷新QCombobox的内容

转载 作者:行者123 更新时间:2023-12-02 17:51:04 27 4
gpt4 key购买 nike

我有 QTableView,其中一列中有 QComboBox。组合框显示来自矢量的数据,当我单击按钮时该矢量会更新。当我启动应用程序时,组合框显示矢量中的所有项目。现在我按下按钮(向矢量添加更多项目)但组合框不反射(reflect)矢量中的新数据。它仍然显示旧数据。一旦矢量更新,我也会发出 dataChanged() 但我没有看到任何变化。 data() 函数确实在返回向量的所有元素的模型中得到调用,但 setEditorData 没有在委托(delegate)中得到调用。

我是不是漏掉了什么。

谢谢,

开发

最佳答案

然后你需要做一些类似这个功能的事情:

void updateComboBox(QComboBox *comboToUpdate, const QStringList & list )
{
QString curentText = comboToUpdate->currntText();
comboToUpdate->clear();
comboToUpdate->insertItems(list);
comboToUpdate->setCurrentIndex(comboToUpdate->findText(currentText));
}

线条

QString currentText = comboToUpdate->currentText();
...
comboToUpdate->setCurrentIndex(comboToUpdate->findText(currentText));

是可选的,用于在选择后不更改 currentItem。

关于qt - 如何在QTableView中刷新QCombobox的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293447/

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