5

OK、簡単なメッセージを表示し、N 秒後に自己破壊する Python/Tkinter ダイアログ ボックスをまとめたいと思います。これを行う簡単な方法はありますか?

4

2 に答える 2

11

関数を使用して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()

更新: after docstring は次のように述べています。

指定された時間後に関数を 1 回呼び出します。MS は時間をミリ秒単位で指定します。FUNC は呼び出される関数を指定します。追加のパラメーターは、関数呼び出しのパラメーターとして指定されます。after_cancel でスケジュールをキャンセルするための識別子を返します。

于 2009-12-16T20:19:26.750 に答える
1

スレッドを使用することもできます。
この例では、タイマーを使用して、指定された時間が経過した後に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()
于 2009-12-16T20:29:00.850 に答える