Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erhält man nach dem Drücken der Login-Schaltfläche den Wert des Tkinter-Eintrags und übergibt ihn an die SQL-Abfrage?

Das offensichtliche Problem ist, dass Sie den Text von beiden Einträgen direkt nach der Initialisierung erhalten. Die beiden Variablen, die Sie dafür verwenden, werden nicht geändert, wenn sich der Text in den Einträgen ändert.

Hier ist ein grundlegender Code, wie man die Werte aus den beiden Eingabefeldern abruft und sie an eine Funktion übergibt:

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()

Dieser Code läuft nur mit Python3!