如何使用QSqlTableModel更改显示的数据,而不是数据本身?

时间:2011-12-05 15:47:03

标签: python sqlite pyqt

我正在使用QTableView和QSqlTableModel来显示表格中的数据。我将整数值显示为其他unicode值 - 例如,将0显示为复选标记。

self.model = QSqlTableModel(self)
index = self.model.index(0,5)
qv = QVariant(u"\u2713")
self.model.setData(index, qv)

这有效地改变了显示,但它也改变了实际数据。有没有办法在QTableView或QSqlTableModel中更改显示或不更改数据?或者我应该使用解决方法,例如将原始数据保存在文件中并在程序关闭时将其写回?

谢谢! --Erin

1 个答案:

答案 0 :(得分:0)

尝试设置edit strategy,以便不立即提交更改:

self.model = QSqlTableModel(self)
self.model.setEditStrategy(QSqlTableModel.OnManualSubmit)