Reputation: 1
In Python tkinter
, I want to get the value from an Entry
widget that is in one function and use that value in another function, but I am unable to do so. Here is my code:
def login():
print("This is your username: " + username_entry.get())
print("This is your password: " + password_entry.get())
def login_screen()
username_label = Label(root, text="Username", font=6)
username_label.grid(row=0, column=0, pady=5, padx=80)
username_entry = Entry(root, font=6)
username_entry.grid(row=1, column=0, pady=5, padx=80)
password_label = Label(root, text="Password", font=6)
password_label.grid(row=2, column=0, pady=5, padx=80)
password_entry = Entry(root, font=6)
password_entry.grid(row=3, column=0, pady=5, padx=80)
login_button = Button(root, text="Login",font=3, command=login)
login_button.grid(row=7, column=0, pady=(10,5), padx=80)
Upvotes: 0
Views: 816
Reputation: 39414
If you mean that you just want the entries available to the login()
function, you can pass them in as parameters:
def login(username_entry, password_entry):
print("This is your username: " + username_entry.get())
print("This is your password: " + password_entry.get())
def login_screen()
username_label = Label(root, text="Username", font=6)
username_label.grid(row=0, column=0, pady=5, padx=80)
username_entry = Entry(root, font=6)
username_entry.grid(row=1, column=0, pady=5, padx=80)
password_label = Label(root, text="Password", font=6)
password_label.grid(row=2, column=0, pady=5, padx=80)
password_entry = Entry(root, font=6)
password_entry.grid(row=3, column=0, pady=5, padx=80)
login_button = Button(root, text="Login",font=3,
command=lambda: login(username_entry, password_entry))
login_button.grid(row=7, column=0, pady=(10,5), padx=80)
Here I've used a lambda
to defer the execution of the login
function.
Upvotes: 1
Reputation: 1
You should return values that you want to use in other place. or use a class, or a global variable.
Upvotes: 0