0
ジャイロスコープの位置データを表示するプログラムを作成しようとしています。私はこの目的のためにthreading.Threadモジュールを使用しています。私もバットからクラッシュするのを防ぐためにtime.sleep()を使用する必要があります。私の問題は、プログラムが凍ることがしばらく続いてからです。これは次のように実装されています:Python Gtkアプリケーションでスレッドする
def get_gyro_data():
return <the data from the gyro>
class Handler:
def __init__(self):
self.label = builder.get_object("my_label")
threading.Thread(target=self.pos_data_update).start()
def pos_data_update(self, *args):
while True:
self.label.set_text(get_gyro_data())
time.sleep(.5)
何か提案がありますか?また、私はtime.sleepを使わずにこれを行う方法がありますか?
しようとしたとき、私は次のエラーを取得します トレースバック(最新の呼び出しの最後):この機能を使用するには ファイル "program.py"、ライン25、CBで コールバック(* argsを、** kwargsから) はTypeError: 'タプル' オブジェクトは、オランダカイウではありませんBLE トレースバック(最新の呼び出しの最後):CBで ファイル "program.py"、25行、 コールバック(* argsを、** kwargsから) 例外TypeError:あなたが渡されたように 'タプル' オブジェクトが呼び出すことはできません –
@DanielCopleyが鳴ります'callback'パラメータとしてのタプル。私はこの機能を定期的に使用しています。 –
私は自分が間違っていることを認識しました。私はmainloop_doパラメータに "self"を挿入しましたが、実行時にはまだフリーズしています。プログラムの実行中にラベルを更新するには、これが必要です。 –