QGIS-在Qtreeview中列出数据库表

时间:2012-02-09 07:22:33

标签: python qgis plugins

我正在使用QGIS的python插件。我使用 psycopg2 对pyg进行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.But不知道如何去做。

1 个答案:

答案 0 :(得分:1)

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

num_layers = dlg.ui.treeWidget.topLevelItem(item).childCount() QtGui.QTreeWidgetItem(dlg.ui.treeWidget.topLevelItem(项目)) dlg.ui.treeWidget.topLevelItem(item).child(num_layers).setText(0,name)

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版本?