首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >“RuntimeError: main thread is not in main loop“的几种解决方案

“RuntimeError: main thread is not in main loop“的几种解决方案

作者头像
未名编程
发布2024-10-12 19:17:22
发布2024-10-12 19:17:22
9620
举报
文章被收录于专栏:PythonPython
方法一(Tkinter)

最后写

代码语言:javascript
复制
root.mainloop()

当然,如果不是root,则应使用Tk对象的名称代替root。

方法二(多线程)

将线程设置为守护程序

代码语言:javascript
复制
t = threading.Thread(target=your_func)
t.setDaemon(True)
t.start()

daemon默认是False,将其设置为True,再Start,就可以解决问题。daemon为True,就是我们平常理解的后台线程,用Ctrl-C关闭程序,所有后台线程都会被自动关闭。如果daemon属性是False,线程不会随主线程的结束而结束,这时如果线程访问主线程的资源,就会出错。

方法三(matplotlib)
代码语言:javascript
复制
# do this before importing pylab or pyplot
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一(Tkinter)
  • 方法二(多线程)
  • 方法三(matplotlib)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档