首页 > python close函数_Matplotlib的close()函数使Tkinter GUI窗口关闭

python close函数_Matplotlib的close()函数使Tkinter GUI窗口关闭

我试图用Tkinter制作一个简单的GUI,它使用Matplotlib生成大量绘图并将它们保存到硬盘上。在

附件是一个简单的代码,但是在保存了所有绘图之后,Tkinter GUI关闭,脚本停止。我想这个问题可能与plt.关闭(),因为当我删除plt.关闭(),GUI窗口不再关闭,但毫不奇怪,内存很快就会被填满,直到整个程序崩溃。在

而不是plt.关闭(),我尝试使用plt.clf公司(),plt.gcf公司().clear(),图清除()他们都没用。它们使GUI窗口保持不变,但会导致内存问题。在

有人知道为什么吗plt.关闭()关闭Tkinter GUI窗口,如何阻止它?我需要图形用户界面(GUI)留下来,并在我处理完对象后,将它们从内存中删除。在

我使用的是Python3.6.3rc1、windows7、Tkinter 8.6和matplotlib3.0.2。在from tkinter import *

import matplotlib.pyplot as plt

import os

def make_plot():

x = [1, 2, 3, 4, 5]

y = [1, 2, 3, 4, 5]

for j in range(0,20):

fig = plt.figure(num=None, figsize=(20, 10), dpi=200, facecolor='w', edgecolor='w')

plt.plot(x,y)

plt.xlabel("x")

plt.ylabel("y")

out_name = os.getcwd()+ "\" + str(j)+".png"

print(out_name)

plt.savefig(out_name)

plt.close()

class Application(Frame):

def run_make_plot(self):

make_plot()

def createWidgets(self):

self.button = Button(self)

self.button["text"] = "Plot"

self.button["command"] = self.run_make_plot

self.button.pack()

def __init__(self, master=None):

Frame.__init__(self, master)

self.pack()

self.createWidgets()

root = Tk()

app = Application(master=root)

app.mainloop()

root.destroy()

更多相关:

  • 四次挥手 主动关闭连接的一方,调用close,协议层发送FIN包,在TCP报头的FIN字段设置为1,意思是我要和你断开链接,主动关闭连接的一方进入到了FIN_WATI_1状态 被动关闭的一方收到了FIN包之后,协议层回复ACK包,在他的TCP报头中将ACK设置为1,表示收到了对方的关闭连接请求,被动 的一方进入到了CLOSE_W...

  •    在TestNG运行自动化测试用例的时候,浏览器FireFox正确打开,可是在测试用例运行完成后,我调用的是webdriver.quit()关闭程序的,结果却报以下错误:    Sep 25, 2014 4:19:32 PM org.openqa.selenium.os.UnixProcess$SeleniumWatchDog d...

  • WindowsForm里一个Application.Exit();方法就可以关闭应用程序,释放掉资源。 WPF里Application类没有该方法,但是有一个Exit的事件驱动,在WPF应用程序里面关闭程序讲究很多: 在WPF应用程序的关闭是有ShutdownMode属性设置,具有3中枚举类型的值: 1)OnLastWindowClo...

  • 2019独角兽企业重金招聘Python工程师标准>>> tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854   0x4745 为"GET"前两个字母"GE" 0x4854 为"HTTP"前两个字母"HT" 说明: 通常情况下:一个正常的TCP连...

  • class str(basestring):"""str(object='') -> stringReturn a nice string representation of the object.If the argument is a string, the return value is the same object."""d...

  • 目录结构: contents structure [-] 类的基本使用专有方法继承单重继承多重继承砖石继承 1.类的基本使用 下面是类使用的一个简单案例, class person:"person 类的描述信息"def __init__(self,name="",age=0):self.name = nameself.age =...

  • 一、反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。 python面向对象中的反射:通过字符串的形式操作对象相关的属性。pytho...

  • 一、set集合的方法 set不是特别常用,但是set的一些特性可以方便处理一些特殊情况。 集合(set)是一个无序不重复元素的序列。 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。 创建格式: parame = {value01,va...

  • 1>UITextField实现leftView: self.inputTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 10, 200, 25)];self.inputTextField.delegate = self;self.inputTextField....