ich erstelle mit glade und pyGTK eine Software.
Aus dem Hauptfenster heraus rufe ich durch einen Button ein weiteres Fenster auf.
Die Klasse ("bigplot") des zweiten Fensters habe ich in einer zweiten Quelldatei erstellt (siehe unten).
Das Fenster wird mittels
Code: Alles auswählen
big = bigplot(gladefile2)
schließen, aber irgendwie nicht richtig. Sprich: Das Fenster geht zu, aber es wird weiterhin
Arbeitsspeicher benötigt. Das Fenster zieht ca. 10MB. Wenn ich es zwanzigmal aufmache und
wieder schließe, dann werden am Ende ca. 200MB benötigt.
Daher gehe ich davon aus, dass ich es nicht korrekt schließe. Oder muss ich etwas von
der eingebundenen matplotlib explizit schließen?
Code: Alles auswählen
class bigplot:
def close(self,widget):
self.window.destroy()
def __init__(self,gladefile):
windowTree = gtk.glade.XML(gladefile)
self.window = windowTree.get_widget("bigplot_window")
self.big = plotting(dpi=100) # Instanz meiner Plotting-Klasse
self.big.adjust(0.9,0.1,0.15,0.95)
self.canvas = FigureCanvas(self.big.fig)
self.canvas.show()
self.tool = NavigationToolbar(self.canvas, self.window) # Toolleiste
self.graphview = windowTree.get_widget("vbox1")
self.graphview.pack_start(self.canvas, True, True)
self.graphview2 = windowTree.get_widget("hbox1")
self.graphview2.pack_start(self.tool, expand =True)
self.window.show()
close_button = windowTree.get_widget("button1")
close_button.connect("clicked", self.close)