我创建了自己的TableView
并为其实现了模型等等。最后,我开始编辑值:它已经很好地重新实现了flags
和setData
函数,但我只能编辑字符串/ int值。我需要添加从组合框中选择的可能性。我看到this one等主题,但QTableView
没有setCellWidget
方法。
是否有可能用QTableView
实现它,或者我必须切换到'TableWidget'并重新做我的工作(这会有问题)?
答案 0 :(得分:2)
QTableView
有一个方法setIndexWidget()
来显示特定单元格中的小部件。但在您的情况下,您应该使用从QItemDelegate
派生的委托并重新实现createEditor()
方法来创建您的组合框。
答案 1 :(得分:2)
要添加到Tomas的答案中,您还需要重新实现setEditorData
和setModelData
函数。
setEditorData
用于从模型获取数据并设置编辑器的初始值。 setModelData
根据在编辑器中输入的数据更新模型中的数据。