Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以在treeview小部件中选择多行?_Python_Tkinter_Treeview_Ttk - Fatal编程技术网

Python 是否可以在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

是否可以在treeview小部件中选择多行?此外,如何获取输入/所选行

这是我创建的一个树状视图,但是我不可能同时选择两行


如果这是不可能的,他们的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()