2016-09-09 8 views
0

特定の項目がtkinterツリーにあるかどうか確認したいと思います。それ、どうやったら出来るの?私は以下のコードを試しました:Tkinterツリーの特定の項目を確認してください。

name='hi' 
if name in tree.get_children(): 
    print 'found it' 

たとえアイテムが見つかっても、それは決して印刷されません。コードを修正するにはどうすればいいですか?

+0

ツリーを作成するコードを投稿できますか? '' hi''要素をツリーに置くために使用する 'tree.insert()'メソッドですか?あなたのコードは私にとってはうまくいくようですが、テキストではなくツリー要素識別子を使うことが重要です。 – RBuntu

答えて

0

まず、確認するノードをつかんで、選択したコンテナに格納します。例:

nodeId = tree.focus() 

次に、子供をつかんで(実際には子供をつかんではありません)、それをコンテナに保管したいと思うでしょう。例:

child = tree.get_children(nodeId)[0] \\only grabbing the first child 

最後に、「hi」というフレーズに対して実際にチェックしたいと思うでしょう。例:

if tree.item(child, option='text') == 'hi': 
    print 'found it' 

これは、ツリー内の最初の子のみを確認するのに役立ちます。 child = tree.get_children(nodeId)[x]をループ内に配置します。xは、forループのカウント変数です。

免責事項:これは、あなたがやっていることの背後にある論理に役立ちます。

ソース:TKinter-Tree-Demo

関連する問題