python中tkinter treeview如何获取选中的条目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中tkinter treeview如何获取选中的条目相关的知识,希望对你有一定的参考价值。
我做了一个树形的列表,如何在lable上实时显示我选中的条目?我用tree.bind("<ButtonRelease-1>",popup)语句,popup()函数可以在命令行中打印出我选中的内容,但在lable上就是显示不了,想问下,如果在popup()函数中返回选中值,或者如何能上lable中显示选中值。def popup(event): x=tree.focus() print(x)
定义这样的函数去专门取tree上的值def selectItem(a):
curItem = tree.focus()
print tree.item(curItem)
它返回一个字典类型的集合,你只要遍历字典就可以把你需要的值取出来。。。追问
先谢谢你的回答,定义函数用print确实可以在命令行中打印出值,但在lable上显示出一串数字+函数名,一直就卡在这儿了。
参考技术A 代码如下(PS:为什么源代码功能没了),请将#替换为空格:import tkinter
from tkinter import ttk
def popup(event):
####print(tree.selection())
####string.set(tree.selection()[0])
####string.set(tree.focus())
win=tkinter.Tk()
tree=ttk.Treeview(win)
global string
string = tkinter.StringVar()
label=tkinter.Label(win, text="项目", textvariable=string)
myid=tree.insert("",0,"浙江",text="浙江",values=("1"))
myidx1=tree.insert(myid,0,"杭州",text="杭州",values=("2"))
myidx2=tree.insert(myid,1,"宁波",text="宁波",values=("3"))
myidy=tree.insert("",1,"山西",text="山西",values=("4"))
myidy1=tree.insert(myidy,0,"太原",text="太原",values=("5"))
myidy1=tree.insert(myidy,2,"大同",text="大同",values=("6"))
tree.bind("<ButtonRelease-1>", popup)
tree.pack()
label.pack()
win.mainloop() 参考技术B protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) Response.Write(TreeView1.SelectedNode.Value); protected void Button1_Click(object sender, EventArgs e) if(TreeView1.SelectedNode!=null) Response.Write("获取当前节点的value:" + TreeView1.SelectedNode.Value);
python 3 - tkinter - ttk treeview:查看列文本
我正在使用ttk的Treeview小部件在Tkinter中构建一个表。但是,在我插入列后,它们显示没有文本。这是代码:
w=Tk()
f=Frame(w)
f.pack()
t=Treeview(f,columns=("Titolo","Data","Allegati?"))
t.pack(padx=10,pady=10)
t.insert("",1,text="Sample")
结果如下:
我怎么解决?
谢谢
您需要为每列定义标头。我不知道你是否想要为标题使用相同的列名,所以这将成为我的榜样。您可以将文本更改为您想要的任何内容。要定义标题,您需要像这样使用header()
:
t.heading("Titolo", text="Titolo")
t.heading("Data", text="Data")
t.heading("Allegati?", text="Allegati?")
通过这些更改,您的最终代码应如下所示:
from tkinter import *
from tkinter.ttk import *
w=Tk()
f = Frame(w)
f.pack()
t = Treeview(f, columns=("Titolo", "Data", "Allegati?"))
t.heading("Titolo", text="Titolo")
t.heading("Data", text="Data")
t.heading("Allegati?", text="Allegati?")
t.pack(padx=10, pady=10)
t.insert("", 1, text="Sample")
w.mainloop()
结果:
如果您有任何疑问,请告诉我。
以上是关于python中tkinter treeview如何获取选中的条目的主要内容,如果未能解决你的问题,请参考以下文章
python tkinter treeview右键单击(Button-3)事件以选择树视图中的项目
如何在 tkinter.ttk Treeview 上完全更改背景颜色
python 3 - tkinter - ttk treeview:查看列文本