Tkinter の「after」メソッドを使用して時間指定イベントを作成するにはどうすればよいですか?
tkinter での after メソッドの使用
tkinter を使用して GUI アプリケーションを操作する場合、指定された時間間隔が経過した後に特定のアクションを実行できると便利です。ここで、after メソッドが登場します。
after メソッドとは何ですか?
tkinter ウィジェットの after メソッドは、指定された時間遅延の後に実行されるアラーム コールバックを登録します。その構文は次のとおりです。
widget.after(delay_ms, callback=None, *args)
ログイン後にコピー
時間指定イベントの after メソッドの使用
具体的な例では、5 秒ごとにランダムな文字を画面に表示したいとします。これを実現するには、コールバック関数を 2 番目の引数として after に渡す必要があります。このコールバックには、ランダムな文字を生成して表示するコードが含まれます。
コードを変更する方法は次のとおりです。
import random import time from tkinter import * root = Tk() w = Label(root, text="GAME") w.pack() frame = Frame(root, width=300, height=300) frame.pack() L1 = Label(root, text="User Name") L1.pack(side=LEFT) E1 = Entry(root, bd=5) E1.pack(side=LEFT) tiles_letter = ['a', 'b', 'c', 'd', 'e'] def add_letter(): if not tiles_letter: return rand = random.choice(tiles_letter) tile_frame = Label(frame, text=rand) tile_frame.pack() root.after(500, add_letter) tiles_letter.remove(rand) root.after(0, add_letter) root.mainloop()
ログイン後にコピー
コードの詳細
- add_letter 関数は、500 回ごとに実行されるコールバックになりました。ミリ秒。
- add_letter 関数内で、tiles_letter リストからランダムな文字が選択され、画面に表示されます。
- add_letter 関数は、after メソッドによって 500 ミリ秒後に再度呼び出されるようにスケジュールされています。 .
- メインループ呼び出しの最初の引数として 0 が渡されることで、add_letter が確実にメインループが開始されるとすぐに呼び出されます。
追加の考慮事項
- このコードは、tiles_letter リストに少なくとも 1 つの要素が含まれていることを前提としています。リストが空の場合、例外がスローされます。必要に応じて、このケースを処理するためのチェックを追加できます。
- 特定の要件に基づいて遅延時間 (この例では 500) を調整することもできます。
以上がTkinter の「after」メソッドを使用して時間指定イベントを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7315
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1348
46


Laravel チュートリアル
1261
25


PHP チュートリアル
1208
29

