如何在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