【问题标题】:Tkinter problem with structure of tabulate table in tkinter labeltkinter 标签中表格结构的 Tkinter 问题
【发布时间】:2019-02-03 19:53:15
【问题描述】:

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

【问题讨论】:

标签: python tkinter tabulate


【解决方案1】:

我强烈建议您创建一个由tk.Entry 小部件组成的网格,您可以在其中将标题和值放在离散的条目中。如果您在列表中记录了tk.Entry 小部件对象,您可以在循环之外单独调用它们(如果您愿意的话)。如果您偏爱 Label 小部件,则可以用其他格式更改替换 tk.Label 小部件来代替 tk.Entry

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])

【讨论】:

    猜你喜欢
    • 2015-10-06
    • 2015-05-30
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多