我设置了这样一个视图的模型:
model = QSqlRelationalTableModel()
model.setEditStrategy(QSqlTableModel.OnManualSubmit)
model.setTable("VoucherPos")
model.setFilter("VoucherKey='" + str(parent_id) + "'")
model.setRelation(10, QSqlRelation("IO", "IOKey", "IOText"))
self.tblSubTable.setItemDelegate(QSqlRelationalDelegate())
model.select()
self.tblSubTable.setModel(model)
但是在表视图中编辑了第10列之后,将显示id值(IOKey(。编辑之前显示的是与右相关的值("IOText"(。
如果我去掉带有"setEditStrategy"的行,一切都可以,但我希望有一个带有"OnManualSubmit"的EditStrategy。
谢谢!
我解决了这个问题。在我的原始代码中,我使用了一个子类QSqlRelationalTableModel,在那里我设置了一些列(以及第10列(的对齐方式。当我使用原始的QSqlRelationalTableModel类时,一切都很好。