【Python】Tkinterでランダムに数字をタイマーの時間間隔で自動表示

Python

ad2

【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秒間隔で表示させる処理を行っています。

実行結果

python_random_sample1 python_random_sample2 python_random_sample3

起動させれば、ループでずっと5秒間隔でランダム数字が表示されます。

応用

今回のロジックを応用すれば、Tkinterのcanvasを使って、画像を表示させることができて、スライドショーてきなこともできますね!!

ランダムな数字を表示じゃなくて、カウントダウンだったり、カウンターにも応用できますね!!

あとは、データを一定間隔で取得してそれを表示させたりとか、いろいろと広がると感じました。