備忘録:何回かハマったので書き残しておこう。
Tkinter treeviewで、選択した時の関数
この関数に引数を持たせたい場合は、以下のようにlambda event~~~と。
treeviewが複数あって、TreeviewSelectを各ツリーでやりたい場合↓
def create_widgets(self): # 省略~~~~~ # -------------------------------------------------- #ツリー内をマウスで選択した時 # -------------------------------------------------- self.tree1.bind("<<TreeviewSelect>>", lambda event:self.OnTreeSelect(event,self.tree1)) self.tree2.bind("<<TreeviewSelect>>", lambda event:self.OnTreeSelect(event,self.tree2)) self.tree3.bind("<<TreeviewSelect>>", lambda event:self.OnTreeSelect(event,self.tree3)) self.tree4.bind("<<TreeviewSelect>>", lambda event:self.OnTreeSelect(event,self.tree4)) self.tree5.bind("<<TreeviewSelect>>", lambda event:self.OnTreeSelect(event,self.tree5)) def OnTreeSelect(self,event,tree): """ ///ツリービュー内の情報を選択したときの処理/// """ # 選択中のiid selected_id = tree.selection() if tree.focus()=="": pass else: selected_list = tree.item(selected_id)['values'] print(selected_list)