我正在尝试使用我在 Google 中找到的简单示例代码。
一切正常,但一旦我为列设置了委托(delegate),它就会显示错误。
这是 line我将“Bank”字符串设置为两行和 comboboxdelegate.cpp 的值
这是 MainWindow 的屏幕截图
问题是,如果数据存储在模型中,为什么不能正常显示?因为如果我使用组合框更改值,单元格中显示的内容仍然如屏幕截图所示。但是按下按钮显示模型中的数据已更改
附言我不担心编辑器不会持续可见,我担心显示的单元格值是其他东西。
最佳答案
我必须将 QString text = items[index.row()].c_str()
行更改为 index.data(Qt::DisplayRole).toString()
.
因此,在绘制委托(delegate)时,Qt 将访问存储在模型中的数据,而不是委托(delegate)的选项向量中
我还必须将 model->setData(index, _editor->currentIndex());
更改为 model->setData(index, _editor->currentText());
关于combobox - 正确显示自定义 QItemDelegates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48833094/