python - 有没有办法请求从非主循环的线程在 Tkinter 主循环上调用函数?

标签 python multithreading tkinter

我有一个程序,它接收串行数据并使用 matplotlib 使用 Tkinter 绘制它的图形。我目前正在使用此功能,但我必须使用 .after() 函数来轮询队列中的数据。在我过去使用过的其他 UI 框架(C 中的不同项目)中,有一种方法可以要求 UI 框架调用主循环中提供给它的函数(在一段时间后、空闲期间等) 。如果我尝试在不是主循环的线程上使用 .after() ,它不起作用并向我提示。

有没有办法从主循环调用用户提供的函数(在不是主循环的线程上提供)?或者,如果队列获取一些数据,有没有办法指示主循环唤醒并做一些工作?

谢谢。

最佳答案

我听说您可以从非 GUI 线程调用 event_generate。如果您确实调用了 event_generate,我了解到您应该将 tail 的值赋予 when 参数。

我个人只在一个项目中这样做过,但看起来效果很好。

关于python - 有没有办法请求从非主循环的线程在 Tkinter 主循环上调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457170/

相关文章:

python - Keras 自定义 RMSLE 指标

python - 如何使用 python 最好使用 pil 检测 tif 图像是否有图层

python - 如何从图像中提取信息

c# - 为什么 c# 不保留匿名委托(delegate)调用的上下文?

ruby-on-rails - Sidekiq - 进程还是线程?什么最有效?

c# - 为并发 C# 代码编写单元测试?

python - 如何在多核机器上加速 python 单元测试?

python - '>' not supported between instances of ' IntVar' 和 'IntVar'

python - 使用 TKinter 创建浏览按钮

python - 从 Tkinter 导入 * ImportError : No module named 'Tkinter'