Как я могу перепрограммировать кнопку «ОК» в модуле Tkinter Messagebox - PullRequest
0 голосов
/ 17 апреля 2019

Я работаю над своим самым первым графическим интерфейсом python и хочу закрыть все предыдущие окна из кода после нажатия кнопки «ОК» в сообщении

messagebox.showinfo('Access Granted', 'Your data has been retrieved.')

Ответы [ 2 ]

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

Диалоги tkinter возвращают строку, представляющую то, на что щелкнул пользователь, поэтому нужно просто сохранить это значение и проверить его позже.Однако, поскольку showinfo дает пользователю только один вариант, он всегда будет возвращать "ok", поэтому нет необходимости проверять значение.Просто вызовите свою функцию после отображения диалогового окна:

def some_function():
    messagebox.showinfo('Access Granted', 'Your data has been retrieved.')
    root.destroy()
...
button = tk.Button(root, text="Quit", command=some_function)
0 голосов
/ 17 апреля 2019

Итак, скажем, если ваше окно называлось root, вам нужно сначала определить функцию для «уничтожения» окна

def closeWindow():
    root.destroy()

Затем вы захотите добавить эту команду к кнопке -

btn = tkinter.Button(text="Click Me!" command=closeWindow)

Если появятся какие-либо ошибки, дайте мне знать!

...