Как запустить диалоговое окно Python / Tkinter, которое самоуничтожается? - PullRequest
4 голосов
/ 16 декабря 2009

Хорошо, я бы хотел собрать диалоговое окно Python / Tkinter, которое отображает простое сообщение и само уничтожается через N секунд. Есть ли простой способ сделать это?

Ответы [ 2 ]

10 голосов
/ 16 декабря 2009

Вы можете использовать функцию after для вызова функции после истечения задержки и destroy для закрытия окна.

Вот пример

from Tkinter import Label, Tk
root = Tk()
prompt = 'hello'
label1 = Label(root, text=prompt, width=len(prompt))
label1.pack()

def close_after_2s():
    root.destroy()

root.after(2000, close_after_2s)
root.mainloop()

Обновление: строка после документа говорит:

Вызовите функцию один раз после заданного времени. MS указывает время в миллисекундах. FUNC дает функцию, которая должна быть вызвана. Дополнительные параметры задаются как параметры для вызова функции. Возвращает идентификатор для отмены планирования с after_cancel.

1 голос
/ 16 декабря 2009

Вы также можете использовать поток.
В этом примере используется Timer для вызова destroy () по истечении заданного промежутка времени.

import threading
import Tkinter


root = Tkinter.Tk()
Tkinter.Frame(root, width=250, height=100).pack()
Tkinter.Label(root, text='Hello').place(x=10, y=10)

threading.Timer(3.0, root.destroy).start()

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