Schließen des MainWindows über x abfangen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
sgremm
User
Beiträge: 10
Registriert: Mittwoch 17. Oktober 2007, 14:01

Sonntag 21. Oktober 2007, 12:41

Der Titel ist schrott, ich versuche mal zu erklären was ich machen will und was dann passiert.

Ich möchte, wenn man auf das x im MainWindow klickt um das Fenster zu schließen, das das Programm ins Systemtray geht und wenn auf das Icon im Systemtray geklickt wird das Programm wieder hergestellt wird.

Es klappt auch bis auf das Herstellen, dann wird das MainWindow wieder hergestellt aber nicht die Widgets im Mainwindow, was heisst, ich habe ein leeres Fenster.

Nun zum Code:

Hier fange ich den event ab.

Code: Alles auswählen

self.mainWindow.connect('delete-event',self.on_delete_mainWindow)
hier der Callback:

Code: Alles auswählen

	def on_delete_mainWindow(self,*args):
		self.mainWindow.hide_all()
		self.mainWindowHide = True
Dann der Klick auf das system_icon:

Code: Alles auswählen

	def on_icon_click(self, *args):
		if self.mainWindowHide == True:
			self.mainWindow.show_all()
			self.mainWindowHide = False
		else:
			self.mainWindow.hide_all()
			self.mainWindowHide = True
Ich hoffe ich habe es gut erklärt. Kann mir da jemand helfen, damit das Fenster wieder komplett hergestellt wird.

Mfg.

Stefan
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Sonntag 21. Oktober 2007, 13:18

Der delete-event-Handler sollte True zurückgeben, damit gtk das Fenster nicht löscht.
sgremm
User
Beiträge: 10
Registriert: Mittwoch 17. Oktober 2007, 14:01

Sonntag 21. Oktober 2007, 13:31

Vielen Dank Trundle, das war der Fehler.

Mfg.

Stefan
Antworten