Python Tkinter treeview显示数据库结果无效

Python Tkinter treeview显示数据库结果无效,python,tkinter,treeview,tuples,Python,Tkinter,Treeview,Tuples,我正在尝试使用treeview显示数据库中的结果。我在另一个文件中测试了treeview,它工作正常,但当我试图显示我的数据库结果时,它会中断 # Works Tree = ttk.Treeview(columns = Fields, show = "headings") Tree.grid(in_ = self.Canvas) # This piece of code does work for Column in Fields: Tree.heading(Column, text

我正在尝试使用treeview显示数据库中的结果。我在另一个文件中测试了treeview,它工作正常,但当我试图显示我的数据库结果时,它会中断

# Works
Tree = ttk.Treeview(columns = Fields, show = "headings")
Tree.grid(in_ = self.Canvas)

# This piece of code does work
for Column in Fields:
    Tree.heading(Column, text = Column.title())

# Instead of cutting at each item it cuts whenever it sees a space
for Item in Results:
    print(Item)
    Tree.insert('', 'end', values = Item)
当它找到一个空格时,它会将结果中的每一项都截断,而不是将结果中的每一项都截断。同样,当它显示结果时,您仍然可以看到('text,…')

这些是我从数据库中提取的元组,如果元组中没有空格,它们就可以工作,但是地址行1会把它弄乱

请帮忙

编辑 我打印了结果,复制了输出,并将其设置为变量,结果正常:/I无法使用结果?

签出。这与Treeview为每列取一个iterable有关。第一个答案以粗体显示在“第三个问题:截断”下

编辑:

如果我[3]有多个词:

    for i in Results:
        print(i)
        temp = i[3]
        tree.insert("", "end", values=((i[0]), (i[1]), temp))
退房。这与Treeview为每列取一个iterable有关。第一个答案以粗体显示在“第三个问题:截断”下

编辑:

如果我[3]有多个词:

    for i in Results:
        print(i)
        temp = i[3]
        tree.insert("", "end", values=((i[0]), (i[1]), temp))

看看这个。我不完全理解iid=。你能解释一下吗?iid只是一个标识符。您可以自己指定,也可以让tkinter指定。它是行的标识符。假设您在表的第一行输入['John','Brown']作为数据。特金特会给它一个身份证,比如说1。使用此iid,您可以执行诸如查找单击的行和获取数据等操作。您可以忽略iid部分,tkinter将自动为您的表分配一个。直到您需要访问此数据为止。它现在将所有字段放在一列中。我只是把一个文件中的代码复制到这项工作中,虽然它在另一个文件中工作,但结果是相同的。代码基本上是相同的,所以我不知道为什么它不想工作:(非常令人沮丧如果你想将它们放在单独的列中,你是否尝试过将它们放在类似于:Item[0],Item[1]的位置,等等?读一下。我不完全理解iid=。你能解释一下吗?iid只是一个标识符。你可以自己指定,也可以让tkinter来指定。它是行的标识符。所以,假设你输入['John','Brown']作为表的第一行中的数据。tkinter会给它一个iid,比如1。使用此iid,您可以执行诸如查找单击的行并获取数据之类的操作。您可以忽略iid部分,tkinter将自动为表分配一个。直到您需要访问此数据。它现在将所有字段放在一个colu中mn.我刚刚将一个文件中的代码复制到这项工作中,虽然它在另一个文件中工作,但效果相同。出于测试目的,代码基本相同,所以我不知道为什么它不工作:(非常令人沮丧,如果你想将它们放在单独的列中,你是否尝试过将它们放在类似于:Item[0],Item的地方[1] 等等?