Python-在QTreeView中显示查询结果

时间:2012-02-04 09:37:54

标签: python plugins pyqt

我正在使用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中?

1 个答案:

答案 0 :(得分:1)

QTreeView需要Model / View框架,因此您需要提供一个模型来使用它。如果您开始使用psycopg2,则需要通过从该查询中对QAbstractItemModel进行子类化来构建和填充您自己的模型。

或者,更容易,您可以使用Qt的QSql模块。它支持PostgreSQL,并提供可与QSqlTableModel一起使用的现成模型(如QSqlRelationalTableModelQSqlQueryModelQTreeView)。