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