Как создать кнопку сброса с помощью Tkinter - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь создать кнопку сброса, которая позволяет мне сбрасывать данные имени пользователя при нажатии.Как мне добиться этого, пожалуйста?

Я пробовал разные способы, но получаю

Ошибка имени: введите имя не определено

main_window_page = Tk()
main_window_page.title("GA")
main_window_page.geometry("600x600")

entername = StringVar()
enterpassword = StringVar()

Username=tk.Label(text="Username")
Username.pack(pady=1,padx=1)
EnterName=tk.Entry(bd=4,textvariable=entername)
EnterName.pack(pady=5,padx=5)

Reset=tk.Button(text="Reset",command=clearFunc)
Reset.pack(pady=13,padx=13)

main_window_page.mainloop()

def clearFunc():
  entername.set("0")

1 Ответ

0 голосов
/ 14 апреля 2019

Добро пожаловать в переполнение стека, Тоби.

Вам нужно сделать entername глобальной строковой переменной, чтобы на нее можно было ссылаться / использовать в подпрограмме clearFunc.

global entername

Для создания clearFunc () установите значение entername равным нулю, вы должны установить значение entername равным "":

entername.set("")

Кроме того, всегда ставьте mainloop в конце кода.

Вам также нужночтобы определить подпрограмму clearFunc, прежде чем ссылаться на нее, поэтому я переместил ее до кнопки сброса.

Код:

main_window_page = Tk()
main_window_page.title("GA")
main_window_page.geometry("600x600")

global entername #make it a global string variable
entername = StringVar()
enterpassword = StringVar()

Username=tk.Label(text="Username")
Username.pack(pady=1,padx=1)
EnterName=tk.Entry(bd=4,textvariable=entername)
EnterName.pack(pady=5,padx=5)

def clearFunc():
    entername.set("")

Reset=tk.Button(text="Reset",command=clearFunc)
Reset.pack(pady=13,padx=13)

main_window_page.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...