Я пишу код, который показывает список продуктов с их информацией.
Мой код:
-подключается к базе данных и успешно получает элементы
-попадет правильно
Проблема:
-Еслиназвание моего продукта - одно слово (например, яйца), мой код отображает все в правильном столбце
-Если имя моего продукта состоит из двух или более слов (например, замороженные хлопья), мой код отображает «матовое»в первом столбце затем «хлопья» в следующих столбцах, что неверно
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()
Предполагается, что элементы с несколькими словами в названии могут успешно отображаться в одном столбце, а не переноситься в следующий.