我有一个接收串行数据的程序,并使用matplotlib使用Tkinter对其进行图形化。我目前正在使用它,但是我必须使用.after()函数来轮询队列中的数据。在我过去使用的其他UI框架中(C中的不同项目),有一种方法要求UI框架调用从mainloop给它的函数(在一段时间后,在空闲期间等) 。如果我尝试在不是主循环的线程上使用.after(),它就不起作用并向我抱怨。
有没有办法在mainloop上调用用户提供的函数,该函数是在不是mainloop的线程上提供的?或者,有没有办法指示mainloop唤醒并在Queue获取某些数据时做一些工作?
感谢。
答案 0 :(得分:1)
我听说你可以从非GUI线程中调用event_generate
。如果您致电event_generate
,我们已经知道您应该将tail
的值提供给when
参数。
我个人只在一个项目中完成了这项工作,但似乎工作正常。