【发布时间】:2019-03-28 16:02:28
【问题描述】:
我正在编写一些代码来显示食物列表及其信息。
我的代码:
-连接数据库并成功获取项目
-循环正确
问题:
-如果我的产品名称是一个单词(例如:eggs),我的代码会在正确的列中显示所有内容
-如果我的产品名称是两个或多个单词(例如:frosted flakes),我的代码在第一列显示“frosted”,然后在下一列显示“flakes”,这是不正确的
from tkinter import ttk
import tkinter as tk
import sqlite3
try:
from Tkinter import *
except ImportError:
from tkinter import *
def View():
db = sqlite3.connect("food_data.db")
cursor = db.cursor()
cursor.execute("SELECT name, quantity, expdate FROM food ORDER BY expdate ASC")
for row in cursor:
disp=('{0} {1} {2}'.format(row[0], row[1], row[2]))
tree.insert("",tk.END, values=disp)
db.close()
root = tk.Tk()
root.geometry("800x480")
tree = ttk.Treeview(column=("column1","column2","column3"),show='headings')
tree.heading("#1", text="Name")
tree.heading("#2", text="Quantity")
tree.heading("#3", text="Expiration Date")
tree.pack()
b2 = tk.Button(text="view data", command=View)
b2.pack()
root.mainloop()
假设名称中包含多个单词的项目成功显示在一列而不是下一列。
【问题讨论】:
标签: python-3.x tkinter sqlite treeview