【问题标题】:QSqlRelationalTableModel and autocomplete field (PyQt4)QSqlRelationalTableModel 和自动完成字段(PyQt4)
【发布时间】:2012-10-23 05:34:30
【问题描述】:

我使用 QSqlRelationalTableModel 创建了一个单字段表视图。此表视图中的唯一字段取自具有一长串名称的表(mysql)。当我在与查询“like”逻辑连接的字段中写入名称时,创建自动完成的正确方法是什么。

self.model = QtSql.QSqlRelationalTableModel()

self.model.setTable("archlibri")
self.model.setHeaderData(0, QtCore.Qt.Horizontal, "ID")
self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Autore")
self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Titolo")
self.model.setRelation(1, QtSql.QSqlRelation("elAutori", "aID", "aNome"))
self.model.select()

tabella.setModel(self.model)       

tabella.setItemDelegate(QtSql.QSqlRelationalDelegate(tabella))

Tabella 是一个 QTableView。 “Autore”列(列有关系委托)是我写名字时要添加自动完成的地方

【问题讨论】:

  • 你能说得更具体点吗?您只有一列 QTreeView。你想在哪里自动完成?在同一个树视图中,同时编辑项目?
  • 我已经用更多信息编辑了这个问题。我希望它们就足够了。
  • 这里还不清楚你要达到什么目的,请贴更多代码

标签: python autocomplete combobox pyqt4


【解决方案1】:

根据您的作者字段是什么类型的字段,您必须实现一个查询,该查询从数据库中选择作者姓名以及用户输入的内容。例如。 Hemingw... 查询选择... where.. 名称如 %placeholder。返回的值将设置为 ui 中的作者字段。您需要同时更改信号数据。

【讨论】:

    猜你喜欢
    • 2011-01-05
    • 2014-06-04
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多