我正在使用qgis的python插件。我正在使用python2.5和pyqt4 designer.I在我的.ui文件中使用了QTreeView。 作为查询的结果,我想将数据库中的所有表显示到QTreeView中。 查询如下:
cursor.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'")
我使用PostgresSQL作为数据库。数据库连接使用psycopg2工具完成。 如何在python中将上述查询的结果显示到QTreeView中?
答案 0 :(得分:1)
QTreeView
需要Model / View框架,因此您需要提供一个模型来使用它。如果您开始使用psycopg2
,则需要通过从该查询中对QAbstractItemModel
进行子类化来构建和填充您自己的模型。
或者,更容易,您可以使用Qt的QSql
模块。它支持PostgreSQL,并提供可与QSqlTableModel
一起使用的现成模型(如QSqlRelationalTableModel
,QSqlQueryModel
或QTreeView
)。