Python 3.x 将sqlite3数据显示到Treeview中

Python 3.x 将sqlite3数据显示到Treeview中,python-3.x,tkinter,sqlite,treeview,Python 3.x,Tkinter,Sqlite,Treeview,我正在写一些代码,显示食物列表及其信息 我的代码: -连接到数据库并成功获取项目 -正确循环 问题: -如果我的产品名称是一个单词(例如:鸡蛋),我的代码会在正确的列中显示所有内容 -如果我的产品名称是两个或两个以上的单词(例如:磨砂薄片),我的代码在第一列显示“磨砂”,然后在下一列显示“薄片”,这是不正确的 from tkinter import ttk import tkinter as tk import sqlite3 try: from Tkinter import * exc

我正在写一些代码,显示食物列表及其信息

我的代码:

-连接到数据库并成功获取项目

-正确循环

问题:

-如果我的产品名称是一个单词(例如:鸡蛋),我的代码会在正确的列中显示所有内容

-如果我的产品名称是两个或两个以上的单词(例如:磨砂薄片),我的代码在第一列显示“磨砂”,然后在下一列显示“薄片”,这是不正确的

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()
假设它成功地将名称中包含多个单词的项目显示在一列上,而不带到下一列

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=(row[0], row[1], row[2]))
    db.close()
这样做的话,你必须在树视图中插入内容作为
元组
列表

 tree.insert("",tk.END, values=(row[0], row[1], row[2]))
这样做的话,你必须在树视图中插入内容作为
元组
列表

 tree.insert("",tk.END, values=(row[0], row[1], row[2]))