-2

我目前正在尝试将从数据库收集的数据表打印到 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

4

1 回答 1

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])
于 2019-02-03T23:54:14.653 回答