自定义QItemDelegate的正确显示

3
我正在尝试使用我在谷歌上找到的简单示例代码。
除了设置列的委托之外,一切正常,它的显示变得有问题。
这是我将“Bank”字符串作为两行的值设置的comboboxdelegate.cpp
这是MainWindow的截图
screenshot
问题是,如果数据存储在模型中,为什么不能正确显示?因为如果我使用组合框更改值,则单元格中显示的内容仍然与屏幕截图中显示的相同。但是按下按钮后,显示模型中的数据已更改。

P.S. 我不关心编辑器没有持续可见性,我关心的是显示的单元格值是其他内容。

1个回答

1
我不得不将行 QString text = items[index.row()].c_str() 更改为 index.data(Qt::DisplayRole).toString()
因此,在绘制委托时,Qt 将访问存储在模型中的数据,而不是委托选项向量中的数据。
我还必须将 model->setData(index, _editor->currentIndex()); 更改为 model->setData(index, _editor->currentText());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接