Unerwartete Ausgabe von self.window.get_position()
Verfasst: Mittwoch 21. Juli 2010, 02:22
Das Programm, an dem ich schreibe, soll beim Schließen des Fensters die Fenstergröße und -position speichern können, um beim nächsten Aufruf das Fenster an gleicher Stelle wieder zu öffnen, wie es zuvor geschlossen wurde. Leider erhalte ich nicht die richtigen Werte, wie das Skript veranschaulichen soll.
Wenn der Button geklickt wird, dann erhalte ich die richtigen Werte, aber nicht, wenn ich das Fenster schließe. Hat jemand eine Idee, woran das liegen kann und was ich tun kann, damit ich beim Schließen des Fensters die gleichen Werte bekomme wie beim Klicken auf den Button?
Vielen Dank.
Wenn der Button geklickt wird, dann erhalte ich die richtigen Werte, aber nicht, wenn ich das Fenster schließe. Hat jemand eine Idee, woran das liegen kann und was ich tun kann, damit ich beim Schließen des Fensters die gleichen Werte bekomme wie beim Klicken auf den Button?
Vielen Dank.
Code: Alles auswählen
#!/usr/bin/python
#-*- coding: utf-8 -*-
import gtk
class Test(object):
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("destroy", self.destroy)
self.window.show()
self.widGoButton = gtk.Button("Position anzeigen")
self.widGoButton.connect("clicked", self.actGoButton)
self.widGoButton.show()
self.window.add(self.widGoButton)
def actGoButton(self, widget):
self.readSettings(self) # liefert richtige Werte
self.saveSettings(self)
def readSettings(self, data=None):
self.winPosition = self.window.get_position()
self.winSize = self.window.get_size()
def saveSettings(self, data=None):
print
print "self.window.get_position() =", self.winPosition
print "self.window.get_size() =", self.winSize
def destroy(self, data=None):
self.readSettings(self) # liefert falsche Werte
self.saveSettings(self)
gtk.main_quit()
def main(self):
gtk.main()
if __name__ == "__main__":
test = Test()
test.main()