为什么我的列表框在一行中打印整个列表?

问题描述 投票:0回答:1

我通过附加包含 opc ua 服务器节点的 display_name、browse_name 和 node_id 的字典来创建列表。当我打印列表时,所有元素都在一行中。我不知道为什么。请帮忙!

# Code for inserting elements into the Listbox

def display_nodes(self, nodes_list):
        # Code zum Anzeigen der Nodes im GUI
        i = 0
        print(nodes_list,sep=" ")
        display_text=""
        self.nodes_listbox.delete(0,tk.END)
        for node in nodes_list:
            display_text=str(node)
            self.nodes_listbox.insert(tk.END,display_text)
    pass

# Code for reading nodes and adding them to the List

    def read_nodes(self,node):
        # Code zum Lesen der Nodes vom Server 
        

        for childId in node.get_children():
            ch = self.client.get_node(childId)
            print(ch.get_node_class())
          
            if ch.get_node_class() == ua.NodeClass.Variable:
                #if str(ch.get_browse_name()).find("QualifiedName(1:") != -1:
                if (str(ch.nodeid)).find("ns=1")!= -1:
                    node_data={
                        'display_name':ch.get_display_name(),
                        'browse_name':ch.get_browse_name(),
                        'node_id':str(ch.nodeid),
                    }
                    print(node_data)
                    self.nodes_list.append(node_data)               

            else:
                #if str(ch.get_browse_name).find("QualifiedName(1:") != -1:
                    node_data={
                        'display_name':ch.get_display_name(),
                        'browse_name':ch.get_browse_name(),
                        'node_id':str(ch.nodeid),
                        #"data_type":ch.get_data_type_as_variant_type(),

                    }
                    
                    print(node_data)
                    self.read_nodes(ch)
                   
        return[self.nodes_list]
python list tkinter listbox opc-ua
1个回答
0
投票

当我打印列表时,所有元素都在一行中。

这个问题可以通过使用 asterik(*) 来解决

更改此:

self.nodes_listbox.insert(tk.END,display_text)

至:

self.nodes_listbox.insert(tk.END, *display_text)
© www.soinside.com 2019 - 2024. All rights reserved.