0

私はPythonプラグインに取り組んでいます.QTreeWidgetを使用してアイテムをリストしました。[qtreewidget のリスト][1] このリンクは私を大いに助けてくれました。

私のコードは次のとおりです。

valestimate=QTreeWidgetItem(str(parent_name))
for row in c.fetchall():
         strval=QTreeWidgetItem(unicode(row[0])) 
         valestimate.addChild(strval)
         self.treeWidget.addTopLevelItem((valestimate))

parent_nameは QTreeWidget の親の名前です。例: 'ACO_233' ただし、出力は次のとおりです。

![ここに画像の説明を入力][2]

columncount を 1 以上に設定すると、次のように表示されます。

![ここに画像の説明を入力][3]

Qtreewidget の親として完全な文字列を一覧表示するにはどうすればよいですか?? このリンク [qtreewidget の 1 文字][4] をたどる ..inserttoplevelitem はリストをパラメータとして取ります..しかし、アイテムを親として作成したい場合、リストを qtreewidget タイプのアイテムに追加することはできません。どうすればいいのですか??

4

2 に答える 2

1

ドキュメントを確認してください:

 QTreeWidgetItem.__init__ (self, QStringList strings, int type = TreeWidgetItem.Type)

指定されたタイプのツリー ウィジェット アイテムを構築します。アイテムはツリー ウィジェットに挿入する必要があります。指定された文字列のリストは、アイテムの各列のアイテム テキストとして設定されます。

QTreeWidgetItem文字列のリストが列に入力されることを期待しています。これを行うと、文字列が文字のリスト (文字列とは何か) としてQTreeWidgetItem(str(parent_name))解釈され、すべての文字が列に配置されます。parent_name代わりに、次のことを行う必要があります。

valestimate = QTreeWidgetItem([parent_name])

parent_nameこれにより、その列の値として単一の列アイテムが得られます。

(ちなみに、str()orunicode()は物事を変換する良い方法ではありません。.encode変換するには、またはその逆に使用するunicode必要str.decodeあります。)

于 2012-07-11T10:40:23.407 に答える