Fenster korrekt schließen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
bastel-wastel
User
Beiträge: 28
Registriert: Samstag 20. Februar 2010, 15:14

Hallo miteinander,

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)
aufgerufen. Das funktioniert auch. Das zweite Fenster kann ich durch einen Button drauf auch
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)
Antworten