"""
Methode die das gesamte Menue realisiert
"""
def menueFrame():
window = tk.Tk()
window.geometry('800x600')
window.title('Auswahl der Schwerpunkte')
db.connect()
schwerpunkte_neu = []
schwerpunkte_neu = db.getSchwerpunkte()
# Definiere die Variablen für die Schwerpunkte je DropDown Menue
variable1 = tk.StringVar(window, value='- select -')
variable2 = tk.StringVar(window, value='- select -')
variable3 = tk.StringVar(window, value='- select -')
variable4 = tk.StringVar(window, value='- select -')
variable5 = tk.StringVar(window, value='- select -')
# Label welches die Begrüßung enthält
greetings = tk.Label(window, text='Dies ist das Auswahlmenue fuer Ihr Praktikum. Wählen Sie nach die Schwerpunkte, die Sie von Ihrem Praktikum erwarten \n ')
greetings.pack()
# Hier werden die Schwerpunkte aus der Methode geholt
variable1.set(schwerpunkte_neu[0])
#print(schwerpunkte_neu)
variable2.set(schwerpunkte_neu[0])
variable3.set(schwerpunkte_neu[0])
variable4.set(schwerpunkte_neu[0])
variable5.set(schwerpunkte_neu[0])
# Auswahlmenue der ersten Eingenschaft
matrikel = tk.Label(window, text='Bitte Ihre Matrikelnummer einegeben: ')
e0_matrikel = tk.Entry(window)
matrikel.pack()
e0_matrikel.pack()
e1_label = tk.Label(window, text='Bitte wählen Sie einen Schwerpunkt aus:')
e1_label.pack()
dDe1 = tk.OptionMenu(window, variable1, *schwerpunkte_neu)
dDe1.pack()
# Auswahlmenue der zweiten Eingenschaft
e2_label = tk.Label(window, text='Bitte wählen Sie einen Schwerpunkt aus:')
e2_label.pack()
dDe2 = tk.OptionMenu(window, variable2, *schwerpunkte_neu)
dDe2.pack()
# Auswahlmenue der dritten Eingenschaft
e3_label = tk.Label(window, text='Bitte wählen Sie einen Schwerpunkt aus:')
e3_label.pack()
dDe3 = tk.OptionMenu(window, variable3, *schwerpunkte_neu)
dDe3.pack()
# Auswahlmenue der vierten Eingenschaft
e4_label = tk.Label(window, text='Bitte wählen Sie einen Schwerpunkt aus:')
e4_label.pack()
dDe4 = tk.OptionMenu(window, variable4, *schwerpunkte_neu)
dDe4.pack()
# Auswahlmenue der fuenften Eingenschaft
e5_label = tk.Label(window, text='Bitte wählen Sie einen Schwerpunkt aus:')
e5_label.pack()
dDe5 = tk.OptionMenu(window, variable5, *schwerpunkte_neu)
dDe5.pack()
# Button zum Senden des SQL-Query
submit = tk.Button(text='Submit', fg='green',command=lambda : db.sendInfo(e0_matrikel.get(),variable1.get(),variable2.get(),variable3.get(),variable4.get(),variable5.get()))
submit.pack()
# Button um die mainloop zu verlassen - beendet nicht das gesamte programm
close = tk.Button(text='Weiter', fg='red', command= window.destroy)
close.pack()
window.mainloop()
#
# Schritt zwei des Algorithmus
window = tk.Tk()
window.geometry('800x600')
window.title('Auswahl der Schwerpunkte - Ihr Ergebnis')
# Label welches die Begrüßung enthält
greetings = tk.Label(window, text='Auf Grundlage Ihrer Angaben, ist eine folgende Deckung ermittelt worden: \n ')
greetings.pack()
compared = tk.StringVar()
ergebnis = tk.Button(text='Ergebnis anzeigen', fg = 'green', command = lambda : db.compare(variable1.get(),variable2.get(),variable3.get(),variable4.get(),variable5.get()))
ergebnis.pack()
#result = tk.Message(window, text= str(db.compare(variable1.get(),variable2.get(),variable3.get(),variable4.get(),variable5.get() )))
#result.pack()
ende = tk.Button(text='Beenden', fg='red', command=window.destroy)
ende.pack()
window.mainloop()
Часть вторая
def getSchwerpunkte():
"""
Mit dieser Methode sollen alle SQL-Befehle die mit SELECT zusammenhaengen durchgefuehrt werden
"""
liste = []
with mycurser as cursor:
sql1 = "SELECT * FROM schwerpunkte"
try:
cursor.execute(sql1)
result = cursor.fetchall()
liste = [row[0] for row in result]
#liste.append(row[0])
#print(liste)
except:
print("Oops! Something wrong")
connection.commit()
return liste
def sendInfo(matNr,pick1,pick2,pick3,pick4,pick5):
with mycurser as cursor:
sql = "INSERT INTO student(MatrikelNr,Schwerpunkt1,Schwerpunkt2,Schwerpunkt3,Schwerpunkt4,Schwerpunkt5) VALUES (%s,%s,%s,%s,%s,%s)"
val = (matNr ,pick1 ,pick2 ,pick3 ,pick4,pick5)
try:
cursor.execute(sql,val)
#result = cursor.fetchall()
except:
print("Oops! Something wrong (sendInfo)" ,)
connection.commit()
'' '
Итак, работая с python, мы хотели создать список из базы данных, то есть метод getSchwerpunkte () , Раньше мы использовали словарь, но хотели, чтобы он был более динамичным c. Хотя это работает, sendInfo больше не работает, это было раньше. опциональное меню также показывает ошибку:
'Нет значения для аргумента' значение 'в вызове конструктора'
наше GUI работает, но если мы хотим передать, оно не будет приводить к исключению запрос.
Любая идея, где нам не хватает?
заранее спасибо