【Python】Tkinterでランダムに数字をタイマーの時間間隔で自動表示
Tkinter
PythonでGUIの画面を用いてアプリを作成します。今回は、「Tkinter」を使い画面を作成していきます。Tkinterはpythonに標準実装なので、扱いが容易に活用できますね。
タイマー設定で自動表示ループ
Timerを使って、一定間隔で処理をループさせるロジックになっています。
今回のタイマーは5secで設定しています。
ソースコード
それでは、コードの方をご紹介します。
import logging import threading import time import sys import tkinter as tk import random #logging.basicConfig(level=logging.DEBUG, format='%(threadName)s: %(message)s') root = tk.Tk() root.title("python-random-loop") def main_exe(): #ランダム整数 randomcount = random.randint(0, 100) #Label表示 tk.Label(root, text=randomcount).grid(row=0, sticky="e") #タイマー設定 時間間隔(sec) t_temp = threading.Timer(5, timer_exe) #logging.debug('timer_start') #タイマー開始 t_temp.start() def timer_exe(): main_exe() logging.debug('init_start') main_exe() root.mainloop()
Tkinterで画面上に「label」を作成してTextにランダムな数字を挿入しています。
randomライブラリで今回は、0~100の間のランダムな数字を表示させています。
Timerを使って、5秒間隔で表示させる処理を行っています。
実行結果



起動させれば、ループでずっと5秒間隔でランダム数字が表示されます。
応用
今回のロジックを応用すれば、Tkinterのcanvasを使って、画像を表示させることができて、スライドショーてきなこともできますね!!
ランダムな数字を表示じゃなくて、カウントダウンだったり、カウンターにも応用できますね!!
あとは、データを一定間隔で取得してそれを表示させたりとか、いろいろと広がると感じました。