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) 類型錯誤: '元組' 對象不是馬蹄蓮竹葉提取 回溯(最近通話最後一個): 文件 「program.py」 25行,在CB 回調(* ARGS,** kwargs) 類型錯誤: '元組' 對象不是可調用 –
@DanielCopley聽起來像是你傳遞一個元組作爲'callback'參數。我經常使用這個功能,我敢肯定它的工作原理。 –
好了,我意識到我在那裏做錯了,我已經將「self」插入到mainloop_do參數中,但是當我運行它時它仍然凍結。我需要這個在程序繼續運行時更新標籤。 –