Tkinter标签中的表格表格结构的Tkinter问题

时间:2019-02-03 19:53:15

标签: python tkinter tabulate

我目前正在尝试将从数据库收集的数据表打印到tkinter中的GUI上,此刻,我正在使用制表符,该表在控制台中运行良好,但是当我尝试将表设置为文本时作为标签打印,表格歪斜并且值未对齐。我还是tkinter的新手,所以我的代码到目前为止并不是最有效或最有效的,有关为什么发生这种情况或解决方法的任何想法?

        order = (key_1,name_1,price_1,quantity_1,total_1)
        table.append(order)
        count +=1
    print_table = (tabulate(table,headers=headers,tablefmt= "rst"))
    c.fetchall()
    conn.commit()
    conn.close()
    label_table = tk.Label(self,text=print_table)
    label_table.pack()

预期结果: !file:///var/folders/59/89rdtwpd4vnf6pv7pbd3l60m0000gn/T/com.apple.Safari/WebKitDropDestination-rwh55dGn/Screen%20Shot%202019-02-03%20at%2011.49.29%20PM.png

实际结果:

!file:///var/folders/59/89rdtwpd4vnf6pv7pbd3l60m0000gn/T/com.apple.Safari/WebKitDropDestination-tZziKT9D/Screen%20Shot%202019-02-03%20at%2011.47.15%20PM.png

>

https://i.stack.imgur.com/bgG4C.png

1 个答案:

答案 0 :(得分:0)

我强烈建议创建一个tk.Entry小部件网格,您可以在其中将标题和值放置在离散条目中。如果您将tk.Entry小部件对象记录在列表中,则可以根据需要在循环之外单独调用它们。如果您偏爱tk.Label小部件,则可以用其他格式更改代替tk.Entry小部件的Label小部件。

tableWindow=tk.Toplevel()
tableHeaderList=["Header1","Header2","Header3","Header4"]

for i in range(height): #Rows
    for j in range(width): #Columns
        b = tk.Entry(tableWindow, text="")
        b.grid(row=i, column=j)
        if i == 0:
            b.insert(0,tableHeaderList[j])