1

我正在为 QGIS 使用 python 插件。我使用 psycopg2做了 python 到 postgres 的连接。我从数据库中检索表的查询是:

cursor = self.con.cursor()
cursor.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'")

records = cursor.fetchall()

记录变量包含所有表格。我的 .ui 表单上有一个 QTreeView 组件。如何将记录变量中的所有表显示到 QTreeView 中。我们应该使用 QAbstractItemModel。但不知道如何去做。

4

1 回答 1

1

您的 QTreeWidget 中是否有顶级项目(您可以使用 Qt 4 Designer 添加它)?在这种情况下,您可以简单地使用 .child().setText() 添加您的条目​​:

num_layers = dlg.ui.treeWidget.topLevelItem(item).childCount() QtGui.QTreeWidgetItem(dlg.ui.treeWidget.topLevelItem(item)) dlg.ui.treeWidget.topLevelItem(item).child(num_layers).setText(0 , 姓名)

http://ghydraulic.git.sourceforge.net/git/gitweb.cgi?p=ghydraulic/ghydraulic;a=blob;f=ghydraulicsplugin.py;h=19d44b2c65b1af6cd0b26c05b7e6606ed05b1965;hb=HEAD 包含完整示例。

如果您想将元素添加为顶级元素,可以使用 QTreeWidget::addTopLevelItem() 插入它们

http://developer.qt.nokia.com/doc/qt-4.8/qtreewidget.html#addTopLevelItem

您使用哪个 Qt 版本?

于 2012-02-19T11:17:20.673 回答