我正在尝试生成一个带有for循环的treeview来显示一堆数据。现在,我可以轻松地生成一个树视图,而无需命名iid和执行类似tree.insert()的操作,但是,我正尝试在每个生成的父行下添加一个下拉列表(子)。treeview将如下所示:
list = [data1,data2,data3,data4]
-_________________-
data1
dir1
dir2
data2
dir1
dir2
data3
dir1
dir2
data4
dir1
dir2我尝试创建唯一的变量名,然而,当我生成它们时,它们当然会在我定义树视图时被覆盖,并且我得到了以下错误_tkinter.TclError:项目1已经存在,tkinter树视图我的代码,我已经尝试:
tree = ttk.Treeview(self.home_frame)
tree["columns"] = ("one", "two")
tree.column("one", width=100)
tree.column("two", width=100)
tree.heading("one", text="coulmn A")
tree.heading("two", text="column B")
tree.insert("", 0, text="Line 1", values=("1A", "1b"))
data = ['stocks','crypto','Forex','ETF','mutual funds']
n=1
for i in data:
print(i)
j = str(n)
i+j = tree.insert("", n, "dir2", text=str('l'), values=("foo","bar"))
tree.insert(i+j, "end", "dir 2", text="sub dir 2", values=("2A", "2B"))
tree.insert(i+j, "end", "dir 3", text="sub dir 2", values=("2A", "2B"))
n+=1
tree.grid(row=2,column=0)发布于 2021-10-20 00:56:55
如果未指定iid选项,则Treeview.insert()将为您创建唯一的iid。所以只需使用.insert()返回的唯一iid即可
for item in data:
iid = tree.insert("", "end", text=item, values=("foo","bar"))
tree.insert(iid, "end", text="sub dir 1", values=("2A", "2B"))
tree.insert(iid, "end", text="sub dir 2", values=("2A", "2B"))https://stackoverflow.com/questions/69638423
复制相似问题