Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何保持跳跃运动';使用python tkinter';什么是主回路?_Python_Tkinter_Leap Motion - Fatal编程技术网

如何保持跳跃运动';使用python tkinter';什么是主回路?

如何保持跳跃运动';使用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循

如何使用python tkinter的主循环来维护leap motion的侦听器帧回调

控制器的常量回调与Tkinter的主循环同时发生

此外:

1) 这叫做多线程吗

2) 在python中使用leap motion进行开发时使用什么gui


谢谢

这里有一个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。