Ich bin neu in diesem Forum und hätte da ein Problem und hoffe, dass ihr mir bei der Lösung vielleicht behilflich sein könntet.
Ich habe mir eine SQL Datenbank angelegt und möchte die darin enthaltenen Werte über die GUI ausgeben.
Dafür habe ich ein Entry, in dem Main Window angelegt, dass nach ähnlichen Datensätzen sucht und die Werte aus dem Tabel in Labels ausgibt.
Mein Problem ist jetzt dass ich in einem sekundären Window eine spezifischere Abfrage machen will, dafür habe ich ein neues Fenster erzeugt und in diesem Fenster Entrys und Labels angelegt.
Jedoch funktioniert die Abfrage in dem sekundären Fenster nicht so wie in dem Hauptfenster, jedoch komme ich nicht darauf was ich anders machen könnte.
Unterhalb habe ich den kompletten Code für die GUI eingefügt.
Ich hoffe ihr könnt mir Behilflich sein.
Danke schon mal im voraus.
Code: Alles auswählen
import tkinter, sqlite3
def ende():
main.destroy()
def neues_fenster():
neu = tkinter.Toplevel(main)
neu.wm_geometry("1000x750")
lb21 = tkinter.Label (neu, text = "Produktnummer")
lb21["font"] = "Arial 12"
lb21.place(x = 25, y = 25)
lb22 = tkinter.Label (neu, text = "EAN")
lb22["font"] = "Arial 12"
lb22.place(x = 215, y = 25)
lb23 = tkinter.Label (neu, text = "Fliesenname")
lb23["font"] = "Arial 12"
lb23.place(x = 350, y = 25)
lb24 = tkinter.Label (neu, text = "Fliesengröße")
lb24["font"] = "Arial 12"
lb24.place(x = 525, y = 25)
lb25 = tkinter.Label (neu, text = "Farbe")
lb25["font"] = "Arial 12"
lb25.place(x = 705, y = 25)
lb26 = tkinter.Label (neu, text = "Fliesenstärke")
lb26["font"] = "Arial 12"
lb26.place(x = 850, y = 25)
e21 = tkinter.Entry(neu)
e21["width"] = 20
e21.place(x = 20, y = 50)
e22 = tkinter.Entry(neu)
e22["width"] = 20
e22.place(x = 170, y = 50)
e23 = tkinter.Entry(neu)
e23["width"] = 25
e23.place(x = 320, y = 50)
e24 = tkinter.Entry(neu)
e24["width"] = 20
e24.place(x = 510, y = 50)
e25 = tkinter.Entry(neu)
e25["width"] = 20
e25.place(x = 665, y = 50)
e26 = tkinter.Entry(neu)
e26["width"] = 20
e26.place(x = 835, y = 50)
suche_starten = tkinter.Button(neu, text = "Suche Starten", command = erweiterte_suche)
suche_starten.place(x = 100, y = 200)
lb31 = tkinter.Label (neu)
lb31["font"] = "Arial 12"
lb31.place(x = 25, y = 75)
lb32 = tkinter.Label (neu)
lb32["font"] = "Arial 12"
lb32.place(x = 215, y = 75)
lb33 = tkinter.Label (neu)
lb33["font"] = "Arial 12"
lb33.place(x = 350, y = 75)
lb34 = tkinter.Label (neu)
lb34["font"] = "Arial 12"
lb34.place(x = 525, y = 75)
lb35 = tkinter.Label (neu)
lb35["font"] = "Arial 12"
lb35.place(x = 705, y = 75)
lb36 = tkinter.Label (neu)
lb36["font"] = "Arial 12"
lb36.place(x = 850, y = 75)
new = tkinter.Button(main, text = "Erweiterte Suche", command = neues_fenster)
new.place(x= 400, y = 50)
def erweiterte_suche():
lb31['text'] = "hallo"
connection = sqlite3.connect("fliesen_43.db")
cursor = connection.cursor()
fliesenstärke = e26.get()
sql = "SELECT * FROM fliesen WHERE fliesenstärke LIKE '%" +farbe+ "%'"
cursor.execute(sql)
for dsatz in cursor:
lb31['text'] = dsatz[0]
lb32['text'] = dsatz[1]
lb33['text'] = dsatz[2]
lb34['text'] = dsatz[4]
lb35['text'] = dsatz[6]
lb36['text'] = dsatz[7]
def search():
connection = sqlite3.connect("fliesen_43.db")
cursor = connection.cursor()
eingabe = e1.get()
sql = "SELECT * FROM fliesen WHERE fliesenname LIKE '%" +eingabe+ "%'"
cursor.execute(sql)
for dsatz in cursor:
lb7['text'] = dsatz[2]
lb8['text'] = dsatz[4]
lb9['text'] = dsatz[6]
lb10['text'] = dsatz[12]
lb11['text'] = dsatz[13]
lb12['text'] = dsatz[14]
main = tkinter.Tk()
main.wm_geometry("1900x1050")
e1 = tkinter.Entry(main)
e1["width"] = 30
e1.place(x = 150, y = 50)
lb1 = tkinter.Label (main, text = "Fliesenname:")
lb1["font"] = "Arial 12"
lb1.place(x = 25, y = 100)
lb2 = tkinter.Label (main, text = "Fliesengröße: ")
lb2["font"] = "Arial 12"
lb2.place(x = 25, y = 150)
lb3 = tkinter.Label (main, text = "Fliesenfarbe:")
lb3["font"] = "Arial 12"
lb3.place(x = 25, y = 200)
lb4 = tkinter.Label (main, text = "Gang:")
lb4["font"] = "Arial 12"
lb4.place(x = 25, y = 250)
lb5 = tkinter.Label (main, text = "Koje:")
lb5["font"] = "Arial 12"
lb5.place(x = 25, y = 300)
lb6 = tkinter.Label (main, text = "Stellplatz:")
lb6["font"] = "Arial 12"
lb6.place(x = 25, y = 350)
lb7 = tkinter.Label (main)
lb7["font"] = "Arial 12"
lb7.place(x = 200, y = 100)
lb8 = tkinter.Label (main)
lb8["font"] = "Arial 12"
lb8.place(x = 200, y = 150)
lb9 = tkinter.Label (main)
lb9["font"] = "Arial 12"
lb9.place(x = 200, y = 200)
lb10 = tkinter.Label (main)
lb10["font"] = "Arial 12"
lb10.place(x = 200, y = 250)
lb11 = tkinter.Label(main)
lb11["font"] = "Arial 12"
lb11.place(x = 200, y = 300)
lb12 = tkinter.Label(main)
lb12["font"] = "Arial 12"
lb12.place(x = 200, y = 350)
bende = tkinter.Button(main, text = "Ende", command = ende)
bende.place(x = 25, y = 400)
suchen = tkinter.Button(main, text = "Suchen", command = search)
suchen.place(x = 325, y = 50)
new = tkinter.Button(main, text = "Erweiterte Suche", command = neues_fenster)
new.place(x= 400, y = 50)
main.mainloop()