PR

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

Python
スポンサーリンク
けんろう
けんろう

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

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

・Scheduleモジュールを利用する方法
・並列処理
・tkinterを利用する方法

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

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

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

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

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秒毎に、現在時刻を更新していきます。

まとめ

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

オススメ

M5Stack

小さな筐体の中に、ディスプレイ、ボタン、無線通信モジュールなど、必要な機能が詰め込まれたモジュールです。メーカから提供されるライブラリも豊富で、初心者の初めてのプログラミングにぴったりです。5 cm四方のベーシックなモデルの他、小型スティック型のモデル、更に小型のATOMシリーズ、M5Stampシリーズなどがあります。

オススメ

AI(人工知能)特化型プログラミングスクール「Aidemy Premium」

Aidemy Premiumは、AIや機械学習などの最先端技術の修得に留まらず、それらを活用して目標達成を実現するまでを一気通貫して支援するオンラインコーチングサービスです。

こんな思いを持っている人にオススメ
・AIエンジニア/データサイエンティストにキャリアチェンジしたい
・業務課題(研究課題)をAIを使って解決したい
・教養としてAIについて知りたい
・AIに関してのスキルを身に着け就職活動に活かしたい…

オススメポイント
・3ヶ月間集中して「AIプログラミング」を修得するオンラインコーチングサービスです。
・完全なプログラミング初心者から研究者にまで幅広く優良なコンテンツを提供します。
・通常のプログラミングスクールとは異なり、受講者の進捗管理を徹底して行います。
・専属メンターがAIの学び方から徹底的にコーチングします。
・完全オンライン完結なので、東京以外に在住・在勤の方も気兼ねなくお申込み頂けます。

実績
・日本最大級のAI/人工知能プログラミングスクール
・SaaS型AI学習サービス「Aidemy」会員登録者数 55,000名突破
・法人向けAI内製化支援サービス「Aidemy Business」導入企業数 120社突破
・第16回 日本e-Learning大賞「AI・人工知能特別部門賞」受賞
・「HRアワード2019」プロフェッショナル部門 入賞

無料ビデオカウンセリング実施中です。

コメント

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