正确显示自定义QItemDelegates

时间:2018-02-16 18:47:54

标签: combobox delegates qtableview qstandarditemmodel

我正在尝试使用在Google中找到的简单示例代码 一切正常,除非我为列设置代表,它的显示就会出现问题 以下是我设置" Bank"的line。字符串作为两行和comboboxdelegate.cpp的值 这是MainWindow的屏幕截图 screenshot
问题是,如果数据存储在模型中,为什么它没有正确显示?因为如果我使用组合框更改了值,单元格中显示的内容仍会保留,如屏幕截图所示。但按下按钮显示模型中的数据已更改

P.S。我并不担心编辑器不能持久可见,我担心显示的单元格值是其他东西。

1 个答案:

答案 0 :(得分:1)

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