Oczywistym problemem jest to, że otrzymujesz tekst z obu wpisów bezpośrednio po ich zainicjowaniu. Dwie zmienne, których używasz do tego celu, nie zostaną zmienione, gdy zmieni się tekst we wpisach.
Oto podstawowy kod, jak pobrać wartości z dwóch pól wejściowych i przekazać je do funkcji:
import tkinter as Tk
import tkinter.messagebox
def show_pass_user(password, user):
# show what we got
tkinter.messagebox.showinfo("Data received", "Hey just got your username \"" + user + "\"" +
" and password \"" + password + "\"")
# run your sql here
def main():
root = Tk.Tk()
entry_user = Tk.Entry(root)
entry_user.insert(0, "Username")
entry_pass = Tk.Entry(root)
entry_pass.insert(0, "Password")
# use a lambda to get Username and Password when button is pressed
pressme = Tk.Button(root, text="Press Me", command=lambda:
show_pass_user(entry_pass.get(), entry_user.get()))
entry_user.grid()
entry_pass.grid()
pressme.grid()
root.mainloop()
if __name__ == "__main__":
main()
Ten kod działa tylko z Pythonem3!