関数 updateTelemetry() を介して定期的に更新されるテキスト表示を備えたpyqt guiがあります
これが私のコードの仕組みです。ユーザーがボタンをクリックすると、buttonHandler が呼び出されます。そして updateTelemetry は 10 秒ごとに繰り返し呼び出されます。
def buttonHandler(self):
self.monitor=true
self.updateTelemetry()
def updateTelemetry(self):
try:
#update values on gui
finally:
if self.monitor:
QtCore.QTimer.singleShot(10000, self.updateTelemetry)
このアプローチは機能し、約 10 秒ごとに更新を取得できます。ただし、10 秒ごとに、GUI 全体が数秒間フリーズしてから更新されます。私がやっていることは、ブロックしているようです。それがどのように起こっているのかわかりません。qtimer.singleshot は別のスレッドを作成すると思いましたか?
私がやっていることを行うためのより良い方法はありますか?