【问题标题】:QSqlRelationalTableModel with OnManualSubmit带有 OnManualSubmit 的 QSqlRelationalTableModel
【发布时间】:2018-07-12 15:58:11
【问题描述】:

我这样设置视图的模型:

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)

但是在tableview中编辑第10列后,会显示id-value(IOKey)。编辑前显示的是正确的相关值(“IOText”)。

如果我删除带有“setEditStrategy”的行,一切正常,但我想要一个带有“OnManualSubmit”的 EditStrategy。

谢谢!

【问题讨论】:

  • 为什么要使用 OnManualSubmit?
  • 因为我希望有可能放弃更改。我想在按下按钮时提交数据。此表是 item-widget 中的子表。
  • 你用的是什么数据库?
  • 一个 sqlite3 数据库

标签: python pyqt pyqt5 qsqlquerymodel qsqlrelationaltablemodel


【解决方案1】:

我解决了这个问题。在我的原始代码中,我使用了一个子类 QSqlRelationalTableModel,我在其中设置了某些列(以及第 10 列)的对齐方式。当我使用原始的 QSqlRelationalTableModel 类时,一切正常。

【讨论】:

    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 2016-07-26
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 2012-10-23
    • 2018-02-02
    相关资源
    最近更新 更多