2012-02-09 15 views
1

私はQGIS用のPythonプラグインを使用しています。私はpsycopg2を使ってポストグル接続にパイソンをしました。 データベースからテーブルを取得するために私のクエリは次のとおりです。QGIS - Qtreeviewのデータベーステーブルのリスト

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

records = cursor.fetchall() 

記録変数が持っているすべてのtables.Iは私の.uiフォーム上の1つのQTreeView成分を有します。 すべてのテーブルをレコード変数からQTreeViewに表示するにはどうすればいいですか?QAbstractItemModel.Butを使用する必要があります。

答えて

1

QTreeWidgetにトップレベルのアイテムがありますか(Qt 4 Designerを使用して追加できますか?)その場合、あなたは、単に().child使用できるのsetText()あなたのエントリを追加する:。

num_layers = dlg.ui.treeWidget.topLevelItem(アイテム).childCount() QtGui.QTreeWidgetItem(dlg.ui.treeWidget .topLevelItem(アイテム)) dlg.ui.treeWidget.topLevelItem(アイテム).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()それらをあなたはQtのバージョンを使用してください

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

を挿入するには?