如何保持跳跃运动';使用python tkinter';什么是主回路?
如何使用python tkinter的主循环来维护leap motion的侦听器帧回调 控制器的常量回调与Tkinter的主循环同时发生 此外: 1) 这叫做多线程吗 2) 在python中使用leap motion进行开发时使用什么gui如何保持跳跃运动';使用python tkinter';什么是主回路?,python,tkinter,leap-motion,Python,Tkinter,Leap Motion,如何使用python tkinter的主循环来维护leap motion的侦听器帧回调 控制器的常量回调与Tkinter的主循环同时发生 此外: 1) 这叫做多线程吗 2) 在python中使用leap motion进行开发时使用什么gui 谢谢 这里有一个Tkinter+Leap运动示例: 这是我写的,也是我写的唯一一个Tkinter程序,但它确实说明了创建和使用侦听器的基础知识 1) 是的,Leap Motion侦听器是多线程的——每个回调函数都在单独的线程上执行 您也可以在Tkinter循
谢谢 这里有一个Tkinter+Leap运动示例: 这是我写的,也是我写的唯一一个Tkinter程序,但它确实说明了创建和使用侦听器的基础知识 1) 是的,Leap Motion侦听器是多线程的——每个回调函数都在单独的线程上执行 您也可以在Tkinter循环中的一个方便点获取跳跃运动跟踪数据,而不使用侦听器。看起来after()函数是执行此操作的好地方:
from Tkinter import *
import Leap
root=Tk()
controller = Leap.Controller()
def task():
frame = controller.frame()
root.after(1/60,task) # 60 fps
root.after(1/60,task)
root.mainloop()
(改编自:)
这可以提高应用程序的响应能力,因为每个主循环迭代只处理一帧跳跃运动跟踪数据,而不是最多4帧
2) 这是另一个问题,可能不是适合堆栈溢出的类型。对于非图形密集型示例,我使用Tkinter,因为它是内置的。对于使用Tkinter无法轻松实现的绘图类型,我一直在使用pyglet/OpenGL。您能否提供leap motion回调的示例代码,以及它发生的时间和频率?另外,Tkinter如何工作的示例代码也很好。你的问题将leap motion和tkinter联系起来。很少会发现人们同时知道这两种任务。
root.after(0,task)
有点危险,因为您可能没有给Tkinter时间来处理“non-after”任务。最好给出一个小的非零值,而不是0。谢谢你,Bryan,我把after
误解为主循环函数执行后的ms--updated。