我想要的
我想在树形视图中添加新的子项。当前,在添加第一组后,它是这样的:
我的专栏
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
我得到的东西
答案 0 :(得分:0)
所以我终于以这种方式解决了这个问题,但我会尝试提高这种算法的效率 subheadings
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