Pythonで一定間隔で処理を実行する例を作成していたが,今回はQt5を使用した場合の例に踏み込んだ。(最初の記事からだいぶん時間がたって忘れていたがJavaScriptのsetIntervalみたいな処理がしたかったのだ。今回は形が違うが,setIntervalなる関数も出てきて気分はsetIntervalの処理のようになる)
WinPythonではQt5が同梱されたバージョンが用意されている。
今回はそれを利用した。
今回のサンプルコードは以下のようになる。
import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import QTimer from datetime import datetime def main(): app = QApplication(sys.argv) t1 = QTimer() t1.setInterval(1000) t1.timeout.connect(TimerTest) t1.start() sys.exit(app.exec_()) def TimerTest(): print(datetime.now().strftime("%Y/%m/%d %H:%M:%S")) if __name__ == '__main__': main()
このコードの実行にはPyQt5が必要でWinPythonなら同梱されているが,他の環境ではインストールが必要である。
このタイマーの使い勝手は悪くないし,マニュアルも豊富であるがQt5のライセンス関係には注意が必要。
タグ:Python