ich versuche gerade mit Python in tkinter ein Programm zu schreiben, beidem man sich erst mit username und passwd anmelden muss. Ich bin bereits so weit, dass das Anmeldefenster auf Knopfdruck aufgeht, und mir zwei Textfelder, eines für username und eines für das passwd gibt. Wenn ich aber jetzt mich anmelde, bei mir wäre das aktuell als username "Test" und als Passwd "Admin" und dann auf den "Anmedlen" Button klicke, kommt da eine seltsame Fehlermeldeung, kann mir da jemand sagen was ich falsch mache?
Hier der code:
Code: Alles auswählen
from tkinter import *
from tkinter import messagebox
def Login():
fenster.destroy()
fenster2 = Tk()
fenster2.title("Login")
usr_label = Label(fenster2, text="Nutzername: ")
pas_label = Label(fenster2, text="Passwort: ")
eingabefeld1 = Entry(fenster2, bd=5, width=40)
eingabefeld2 = Entry(fenster2, bd=5, width=40)
usr_label.grid(row = 0, column = 0)
pas_label.grid(row = 1, column = 0)
eingabefeld1.grid(row = 0, column = 1)
eingabefeld2.grid(row = 1, column = 1)
def Anmelden():
usr = eingabefeld1.get()
pas = eingabefeld2.get()
if "Test" in eingabefeld1 and "Admin" in eingabefeld2:
messagebox.showinfo(message="Anmeldung erfolgreich!")
fenster2.destroy()
else:
messagebox.showinfo(message="Anmeldung fehlgeschlagen!")
anmelde_button = Button(fenster2, text="Anmelden", command=Anmelden)
anmelde_button.grid(row = 2, column = 0)
fenster = Tk()
fenster.title("Test für Login")
label = Label(fenster, text="Drücke auf Login")
login_button = Button(fenster, text="Login", command=Login)
label.grid(row = 0, column = 0)
login_button.grid(row = 1, column = 0)
mainloop()
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.5/tkinter/__init__.py", line 1562, in __call__
return self.func(*args)
File "/home/pi/Desktop/GUITests/Login.py", line 23, in Anmelden
if "Test" in eingabefeld1 and "Admin" in eingabefeld2:
File "/usr/lib/python3.5/tkinter/__init__.py", line 1346, in cget
return self.tk.call(self._w, 'cget', '-' + key)
TypeError: Can't convert 'int' object to str implicitly
Ich habe schon vorher in anderen Programmen Strings aus Eingabefeldern abgleichen lassen, da ging alles...liegt es vllt an dem "and"?
Danke schonmal im Vorraus!