Button Erstellung in Schleife
Verfasst: Donnerstag 8. März 2018, 14:27
Guten Tag zusammen.
Ich habe folgendes Problem. Ich will Daten aus einer Datenbank auslesen und diese dann durch Buttons aufrufen und in ein neues Fenster kommen. Das auslesen etc ist kein Problem, allerdings wird in der Schleife nur der letzte Datensatz als Button ausgegeben. Ich bin noch ein ziemlicher Anfänger was die Programmierung mit Python angeht.
Im folgenden mal ein Teil des Quellcodes:
cursor.execute("SELECT Werkzeugname, Schrankfach, Ausgeliehen FROM Werkzeuge")
daten_Werkzeuge = cursor.fetchall()
i = 0
x = 50
y = 180
while i<len(daten_Werkzeuge):
daten = daten_Werkzeuge
Werkzeugname = []
Werkzeugname = daten[0]
Schrankfach = []
Schrankfach = daten[1]
Ausgeliehen = []
Ausgeliehen = daten[2]
labelAW = Label(FenstergefundenerMitarbeiter,image=ImageAW)
labelAW.place(x=0, y=0, width=800, height=480)
#Vorname ausgeben
labelFenstergefundenerMitarbeiter_Vorname = Label(master=FenstergefundenerMitarbeiter, text ="Vorname:")
labelFenstergefundenerMitarbeiter_Vorname.place(x=300, y = 20, width = 100, height=20)
labelFenstergefundenerMitarbeiter_Vorname1 = Label(master=FenstergefundenerMitarbeiter, text =Vorname)
labelFenstergefundenerMitarbeiter_Vorname1.place(x=300, y = 40, width = 100, height=30)
#Nachname ausgeben
labelFenstergefundenerMitarbeiter_Nachname = Label(master=FenstergefundenerMitarbeiter, text ="Nachname:")
labelFenstergefundenerMitarbeiter_Nachname.place(x=420, y = 20, width = 100, height=20)
labelFenstergefundenerMitarbeiter_Nachname1 = Label(master=FenstergefundenerMitarbeiter, text =Nachname)
labelFenstergefundenerMitarbeiter_Nachname1.place(x=420, y = 40, width = 100, height=30)
gesamt = str(Schrankfach) + " " + Werkzeugname
#Buttonerstellung
if Ausgeliehen == "Nein":
button = Button(master=FenstergefundenerMitarbeiter, text = gesamt , bg="#00FF00" , command= print("20"))
button.place(x = x, y = y, width = 100, height = 50)
else:
button = Button(master=FenstergefundenerMitarbeiter, text = gesamt , bg="#FF0000" , command=print("20"))
button.place(x = x, y = y, width = 100, height = 50)
x += 120
if x > 650 and y == 180:
x = 50
y = 250
ButtonMitarbeiterhinzugefügt_schliessen = Button(master=FenstergefundenerMitarbeiter, text ="Zurück", command=zurückWerkzeugentnahme)
ButtonMitarbeiterhinzugefügt_schliessen.place(x=50, y=330, width = 330, height=100)
i += 1
Die "print("20") Funktion dient erstmal nur zur Überprüfung. Später soll dann sobald ich den Button klicke, die neue Seite aufgerufen werden.
Ich bin für jede Hilfe sehr dankbar.
Ich habe folgendes Problem. Ich will Daten aus einer Datenbank auslesen und diese dann durch Buttons aufrufen und in ein neues Fenster kommen. Das auslesen etc ist kein Problem, allerdings wird in der Schleife nur der letzte Datensatz als Button ausgegeben. Ich bin noch ein ziemlicher Anfänger was die Programmierung mit Python angeht.
Im folgenden mal ein Teil des Quellcodes:
cursor.execute("SELECT Werkzeugname, Schrankfach, Ausgeliehen FROM Werkzeuge")
daten_Werkzeuge = cursor.fetchall()
i = 0
x = 50
y = 180
while i<len(daten_Werkzeuge):
daten = daten_Werkzeuge
Werkzeugname = []
Werkzeugname = daten[0]
Schrankfach = []
Schrankfach = daten[1]
Ausgeliehen = []
Ausgeliehen = daten[2]
labelAW = Label(FenstergefundenerMitarbeiter,image=ImageAW)
labelAW.place(x=0, y=0, width=800, height=480)
#Vorname ausgeben
labelFenstergefundenerMitarbeiter_Vorname = Label(master=FenstergefundenerMitarbeiter, text ="Vorname:")
labelFenstergefundenerMitarbeiter_Vorname.place(x=300, y = 20, width = 100, height=20)
labelFenstergefundenerMitarbeiter_Vorname1 = Label(master=FenstergefundenerMitarbeiter, text =Vorname)
labelFenstergefundenerMitarbeiter_Vorname1.place(x=300, y = 40, width = 100, height=30)
#Nachname ausgeben
labelFenstergefundenerMitarbeiter_Nachname = Label(master=FenstergefundenerMitarbeiter, text ="Nachname:")
labelFenstergefundenerMitarbeiter_Nachname.place(x=420, y = 20, width = 100, height=20)
labelFenstergefundenerMitarbeiter_Nachname1 = Label(master=FenstergefundenerMitarbeiter, text =Nachname)
labelFenstergefundenerMitarbeiter_Nachname1.place(x=420, y = 40, width = 100, height=30)
gesamt = str(Schrankfach) + " " + Werkzeugname
#Buttonerstellung
if Ausgeliehen == "Nein":
button = Button(master=FenstergefundenerMitarbeiter, text = gesamt , bg="#00FF00" , command= print("20"))
button.place(x = x, y = y, width = 100, height = 50)
else:
button = Button(master=FenstergefundenerMitarbeiter, text = gesamt , bg="#FF0000" , command=print("20"))
button.place(x = x, y = y, width = 100, height = 50)
x += 120
if x > 650 and y == 180:
x = 50
y = 250
ButtonMitarbeiterhinzugefügt_schliessen = Button(master=FenstergefundenerMitarbeiter, text ="Zurück", command=zurückWerkzeugentnahme)
ButtonMitarbeiterhinzugefügt_schliessen.place(x=50, y=330, width = 330, height=100)
i += 1
Die "print("20") Funktion dient erstmal nur zur Überprüfung. Später soll dann sobald ich den Button klicke, die neue Seite aufgerufen werden.
Ich bin für jede Hilfe sehr dankbar.