Таблицы базы данных QGIS в Qtreeview - PullRequest
1 голос
/ 09 февраля 2012

Я работаю с плагинами Python для QGIS. Я сделал Python для соединения с Postgres, используя psycopg2 . Мой запрос на получение таблиц из базы данных:

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

records = cursor.fetchall()

запись переменная содержит все таблицы. У меня есть один компонент QTreeView в моей форме .ui. Как отобразить все таблицы из переменной записи в QTreeView. Мы должны использовать QAbstractItemModel. Но мы не знаем, как это сделать.

1 Ответ

1 голос
/ 19 февраля 2012

У вас есть элемент верхнего уровня в вашем 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)

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 вы используете?

...