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

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

方法一(Tkinter)

最后写

root.mainloop()

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


方法二(多线程)

将线程设置为守护程序

t = threading.Thread(target=your_func)
t.setDaemon(True)
t.start()

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


方法三(matplotlib)

# do this before importing pylab or pyplot
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
相关文章
pip镜像源大全及配置
在中国使用pip时,可以配置国内镜像源来提高安装速度和稳定性。以下是一些常见的国内镜像源:
22203 0
Python错误 TypeError: ‘NoneType‘ object is not subscriptable解决方案汇总
Python错误 TypeError: ‘NoneType‘ object is not subscriptable解决方案汇总
|
3月前
|
Ubuntu Linux 开发者
Ubuntu 24.04 安装 Docker 与 Compose:完整稳定版教程(小白必看)
本教程详细介绍在Ubuntu 24.04上安装Docker与Docker Compose的完整步骤,适合新手操作。涵盖环境准备、软件安装、验证及常见问题解决,助你快速掌握容器化部署技能,提升开发效率。
|
Python
python tkinter Tcl_AsyncDelete: async handler deleted by the wrong thread
python tkinter Tcl_AsyncDelete: async handler deleted by the wrong thread
350 1
|
11月前
|
Docker 容器
在openEuler 22.03 LTS上安装Docker CE和Docker Compose
以上就是在openEuler 22.03 LTS上安装Docker CE和Docker Compose的过程。希望这个指南能帮助你顺利完成安装。
2729 12
|
Unix Python
python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用
python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用
783 0
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
1604 2