如何在tkinter中向treeview添加新的子目子项?
我想要什么 我想在我的树视图中添加新的子项。当前添加第一个组后,如下所示: 我的专栏如何在tkinter中向treeview添加新的子目子项?,tkinter,treeview,Tkinter,Treeview,我想要什么 我想在我的树视图中添加新的子项。当前添加第一个组后,如下所示: 我的专栏 columns1=['is up', 'duplex', 'speed', 'mtu'] columns2=['NIC addr', 'netmask addr', 'broadcast addr'] 用于插入第一列值的代码 for k,v in network_nic_meta.items(): itemid1 =self.tree1.insert('', 'end', text
columns1=['is up', 'duplex', 'speed', 'mtu']
columns2=['NIC addr', 'netmask addr', 'broadcast addr']
用于插入第一列值的代码
for k,v in network_nic_meta.items():
itemid1 =self.tree1.insert('', 'end', text="network info", values=(k,k))
list=v
i=0
for data in list:
self.tree1.insert(itemid1, 'end', text=columns1[i], values=(data))
i+=1
我想将第二列及其值与第一个插入的column1值相加
我尝试过的
for k, v in network_nic.items():
# itemid2 = self.tree1.insert('', 'end', text="network info", values=(k))
list=v
i=0
for data in list:
self.tree1.insert(itemid1, 'end', text=columns2[i], values=(data.address, data.netmask,data.broadcast))
i+=1
我得到的
所以我最终用这种方法解决了这个问题,但我会努力提高这个算法的效率
itemid1是的,我添加了这个。
idRoot=[]
value=[]
fieldList=[]
key=[]
#add network names
once=0
for k,v in network_nic_meta.items():
key.append(k)
if(once==0):
fieldList.append(v._fields)
once+=1
value.append(v)
for network_name in key:
node =self.tree1.insert('', 'end', text="network info", values=(network_name,network_name))
idRoot.append(node)
# #
first = 0
second = 4
k=0
# for k in range(len(idRoot)):
for subitem in value:
val_ = subitem[first:second]
for index in range(len(val_)):
self.tree1.insert(idRoot[k],index,text=fieldList[0][index], values=(val_[index]))
k+=1
q = collections.deque()
masterList=[]
value=[]
copyValue=[]
for k, v in network_nic.items():
i=1
for index in range(len(v)):
value.append(v[index].address)
value.append(v[index].netmask)
value.append(v[index].broadcast)
if(i==len(v)):
copyValue=value.copy()
q.append(copyValue)
masterList.append(copyValue)
value.clear()
i+=1
j=0
for index in range(len(idRoot)):
count = 1
for data in masterList[index]:
self.tree1.insert(idRoot[index], "end", text=columns1[j]+" "+str(count), values=(data, data, data))
j+=1
if(j==3):
j=0
count += 1