Python 是否可以在treeview小部件中选择多行?
是否可以在treeview小部件中选择多行?此外,如何获取输入/所选行 这是我创建的一个树状视图,但是我不可能同时选择两行Python 是否可以在treeview小部件中选择多行?,python,tkinter,treeview,ttk,Python,Tkinter,Treeview,Ttk,是否可以在treeview小部件中选择多行?此外,如何获取输入/所选行 这是我创建的一个树状视图,但是我不可能同时选择两行 如果这是不可能的,他们的tkinter或ttk中的小部件是否允许这样做?是的,可以使用selection()方法获取所选项目的元组。获得元组后,可以使用item()方法访问每个项。这里有一个例子 注意:在代码中,按Ctrl键并单击行选择多个项目,然后按Enter键 将tkinter作为tk导入 导入tkinter.ttk def select(): curItems=tr
如果这是不可能的,他们的tkinter或ttk中的小部件是否允许这样做?是的,可以使用
selection()
方法获取所选项目的元组。获得元组后,可以使用item()
方法访问每个项。这里有一个例子
注意:在代码中,按Ctrl键并单击行选择多个项目,然后按Enter键
将tkinter作为tk导入
导入tkinter.ttk
def select():
curItems=tree.selection()
tk.Label(root,text=“\n”.join([str(tree.item(i)['values'])表示curItems中的i]).pack()
root=tk.tk()
tree=tkinter.ttk.Treeview(根,高度=4)
树['show']='headers'
树['columns']=('Badge Name'、'Requirement'、'Cost'、'Condibility')
树标题(“#1”,text='Badge Name',anchor='w')
tree.column(“#1”,stretch=“no”)
树标题(“2”,text='Requirement',anchor='w')
tree.column(“#2”,stretch=“no”)
树标题(“3”,text='Cost',anchor='w')
tree.column(“#3”,stretch=“no”)
树标题(“#4”,文本='难度',锚='w')
tree.column(“#4”,stretch=“no”)
tree.pack()
树。插入(“,”结束“,值=[“IT徽章”,“跟踪计算机”,“1.50美元”,“2”])
树。插入(“,”结束“,值=[“无私徽章”,“追踪你自己”,“100.50美元”,“10”])
树。插入(“,”结束“,值=[“追踪徽章”,“追踪动物”,“4.50美元”,“7”])
tree.bind(“,lambda e:select())
root.mainloop()
我似乎无法在树视图中选择多行。按enter键时,信息确实会被提交,并且会显示在tkinter窗口中。@LyraOrwell您可以通过按Ctrl键然后单击行来选择多行。谢谢!对不起,我不知道,也许你应该在你的答案中加上这个。“只为像我这样的人。”莱拉奥威尔说。谢谢你的反馈。
import tkinter as tk
import tkinter.ttk
def select():
curItems = tree.selection()
tk.Label(root, text="\n".join([str(tree.item(i)['values']) for i in curItems])).pack()
root = tk.Tk()
tree = tkinter.ttk.Treeview(root, height=4)
tree['show'] = 'headings'
tree['columns'] = ('Badge Name', 'Requirement', 'Cost', 'Difficulty')
tree.heading("#1", text='Badge Name', anchor='w')
tree.column("#1", stretch="no")
tree.heading("#2", text='Requirement', anchor='w')
tree.column("#2", stretch="no")
tree.heading("#3", text='Cost', anchor='w')
tree.column("#3", stretch="no")
tree.heading("#4", text='Difficulty', anchor='w')
tree.column("#4", stretch="no")
tree.pack()
tree.insert("", "end", values=["IT Badge", "Track Computer", "$1.50", "2"])
tree.insert("", "end", values=["Selfless Badge", "Track Yourself", "$100.50", "10"])
tree.insert("", "end", values=["Tracking Badge", "Track Animal", "$4.50", "7"])
tree.bind("<Return>", lambda e: select())
root.mainloop()