Как мне вернуться обратно из функции «подсказка», только если и после того, как пользователь ввел ввод в виджете ввода для функции, которая его вызвала.
def prompt(to_speak,label_text,prompt):
name = ""
main = Toplevel()
label = Label(main,text = label_text)
label.grid()
var = StringVar()
entry = Entry(main)
entry.focus()
entry.grid()
entry.config(textvariable = var)
def get_input():
print("function call has occured")
global name
name = var.get()
if not input:
speak(prompt)
else:
main.destroy()
button = Button(main,text = "Proceed",fg = "white",bg = "#1287A8",command = get_input)
button.grid()
speak(to_speak)
if name:
return name
main.mainloop()
Я определил обратный вызовфункция "get_input", чтобы получить входные данные из виджета ввода после нажатия кнопки "продолжить".Он будет проверять, введен ли пользователь во ввод или нет.Если он введен, это уничтожит Toplevel, и я хотел бы, чтобы этот ввод был возвращен функции, которая вызвала «prompt», если пользователь не ввел ввод, он предупредит пользователя.
Но если пользователь имеетвведенный на вход, то я хотел бы вернуть этот вход в функцию, которая вызвала функцию «подсказки».
Я пытался реализовать его, используя условие if, но если условие проверяется только один раз, и это слишком много до нажатия кнопки «Продолжить».
Можно ли проверять условие "if" каждый раз после выполнения функции "get_input".
Или еще есть какой-нибудь способ добиться этого?