【Pythonアプリ入門】定期的に処理を実行するアプリの作り方(tkinterで実現)

Python
けんろう
けんろう

この記事では、Pythonで定期的に処理を実行するアプリの作り方を紹介します。 

Pythonで定期的に処理を実行する方法は、複数のやり方があります。
皆さんが作成したいプログラム構造によって、選択してもらえばよいかと思います。

・Scheduleモジュールを利用する方法

・並列処理

・tkinterを利用する方法

今回は、tkinterで実現する方法を紹介します。

その他の方法は、以下の記事で紹介しています。

この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。

この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。

Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクールの無料説明会
スポンサーリンク

tkinterを利用する方法

tkinterは、PythonでGUIアプリを作るときに使われるライブラリです。
tkinterには、afterメソッドがあり、これを使って、定期処理を作ります。

例えば、以下のような処理を記述できます。

・定期に表示内容を変えるGUIプログラム

それでは、tkinterを利用する定期処理を理解するために、サンプルアプリを作ってみましょう

サンプルアプリ

1秒毎に、現在時刻をGUI画面に表示する

サンプルコード

#!usr/bin/env python
# -*- coding: utf-8 -*-

import tkinter
import datetime

# 定期的に実行する関数
def func():
    global label

    labeltext=datetime.datetime.now()

    # ラベルのテキストを更新
    label.config(
        text=labeltext,
    )
    # 1000ms後にfunc関数を実行
    app.after(1000, func)

# メインウィンドウの作成
app = tkinter.Tk()
app.geometry("300x200")

# ラベルウィジェット作成
label = tkinter.Label(
    app,
    width=20,
    height=1
)
label.pack()

# 1000ms後にfunc関数を実行
app.after(1000, func)

# メインループ
app.mainloop()

動かし方

実行すると、GUI画面が表示され、以下が表示されます。

1秒毎に、現在時刻を更新していきます。

\ Pythonを勉強するなら、環境構築が楽で安いラズパイがオススメです /

まとめ

今回は、並列処理を使って、定期的に処理を実行する方法を紹介しました。

コメント

タイトルとURLをコピーしました