项目场景:python之figure、canvas、tkinter、matplotlib和pymysql,实现从数据库拿数据,图形化界面显示。
问题描述:python程序打包成exe文件后运行,点击右上角关闭主程序窗口(你以为的主程序窗口)后,仍有进程在运行。
原因:figure画出的数学曲线窗口,不会自动关闭,进程未释放。经调试后发现,如下图:
解决方案:重写窗口的destroy,如下:
def destroy(self):
"""重写destroy方法"""
plt.close(self.figure)#关闭数学曲线窗口
root.quit()#结束主循环
super().destroy()#销毁父类窗口