ttk.Label должен быть tk.Label.
Я включаю рабочий пример, основанный на вашем:
from tkinter import *
from tkinter.messagebox import showinfo
import sqlite3
import os
#Initialize Database
def initDatabase():
file=open("foodList.txt")
lines=file.readlines()
conn=sqlite3.connect('foodDatabase.db')
sql="create table food(name text primary key, category text)"
conn.execute(sql)
conn.commit()
for line in lines:
line=line.replace("\n","")
cols=line.split(",")
name=cols[0]
category=cols[1]
sql="insert into food(name,category) values('{0}','{1}')".format(name,category)
conn.execute(sql)
conn.commit()
conn.close()
showinfo("Success", "Database Initialized!")
def main():
window = Tk()
window.title("Welcome to test app")
# window.geometry('350x200')
if not os.path.exists("foodDatabase.db"):
initDatabase()
#Food Name label
nombre = StringVar()
labelName=Label(window,text="Name").grid(row=0)
textName=Entry(window,textvariable=nombre).grid(row=0, column=1)
#Food Category label
categoria = StringVar()
labelCategory=Label(window,text="Category").grid(row=1)
textCategory=Entry(window, textvariable=categoria).grid(row=1, column=1)
res_name = StringVar()
res_category = StringVar()
textRes_name = Label(window, textvariable=res_name).grid(row=5,column=0)
textRes_category = Label(window, textvariable=res_category).grid(row=5,column=1)
#Buttons for Insert & Delete
def insertData():
conn=sqlite3.connect('foodDatabase.db')
sql="insert into food(name,category) values('{0}','{1}')".format(nombre.get(),categoria.get())
conn.execute(sql)
conn.commit()
conn.close()
showinfo("Success", "Insert Successful!")
nombre.set('')
categoria.set('')
showData()
def deleteData():
conn=sqlite3.connect('foodDatabase.db')
sql="delete from food where name='{0}'".format(nombre.get())
conn.execute(sql)
conn.commit()
conn.close()
showinfo("Success","Delete Successful!")
nombre.set('')
categoria.set('')
showData()
def showData():
conn=sqlite3.connect('foodDatabase.db')
sql="select * from food"
q = conn.execute(sql)
rows = q.fetchall()
result_name = ["name"]
result_category = ["category"]
for row in rows:
result_name.append(row[0])
result_category.append(row[1])
res_name.set("\n".join(result_name))
res_category.set("\n".join(result_category))
conn.commit()
conn.close()
#Insert Button
buttonInsert = Button(window,text='Insert',command=insertData).grid(row=3, column=0, pady=4)
#Delete Button
buttonDelete = Button(window,text='Delete',command=deleteData).grid(row=3, column=1, pady=4)
#Show list Button
# buttonShow = Button(window,text='Show',command=showData).grid(row=3, column=2, pady=4)
showData()
window.mainloop()
if __name__ == '__main__':
main()