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

