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参数中,但是当我运行它时它仍然冻结。我需要这个在程序继续运行时更新标签。 –