TaskBarIcon.CreatePopupMenu toetet mein Menue
Verfasst: Donnerstag 10. Januar 2008, 00:29
Hallo mal wieder,
ich habe in meinem Programm ein fertiges Menu in der AppKlasse die von jedem Frame aus aufgerufen wird.
Wenn ich dieses Menu nun von der Methode "TaskBarIcon.CreatePopupMenu" zurueck geben lasse, wird es zerstoert... wie kann ich das verhindern?
Zur Verstaendlichkeit:
Das Menue wird in der App-Klasse (App.OnInit)erstellt und kann von ueberall per app.menu aufgerufen werden. Mit den Frames klappt das auch wunderbar.
Nach einmaliger (und bis dahin auch funktionierender) Benutzung des selben Menues durch das TaskBarIcon funktioniert das Menue nicht mehr.
Zur Fehlersuche ließ ich mir den Typ von app.menu ausgeben:
Als es funktionierte:
Nachdem ich es vom TrayIcon aufrufen ließ:
... bin ich gezwungen das Menue bei jedem Aufruf neu zu erzeugen? Oder sollte ich evtl den Event auf eine eigene Methode binden?
Danke fuer Hilfestellungen...
ich habe in meinem Programm ein fertiges Menu in der AppKlasse die von jedem Frame aus aufgerufen wird.
Wenn ich dieses Menu nun von der Methode "TaskBarIcon.CreatePopupMenu" zurueck geben lasse, wird es zerstoert... wie kann ich das verhindern?
Zur Verstaendlichkeit:
Code: Alles auswählen
class TaskBarIcon(wx.TaskBarIcon):
#[...]
def CreatePopupMenu(self):
"""
This method is called by the base class when it needs to popup
the menu for the default EVT_RIGHT_DOWN event. Just create
the menu how you want it and return it from this function,
the base class takes care of the rest.
"""
return app.menu
#[...]
Nach einmaliger (und bis dahin auch funktionierender) Benutzung des selben Menues durch das TaskBarIcon funktioniert das Menue nicht mehr.
Zur Fehlersuche ließ ich mir den Typ von app.menu ausgeben:
Als es funktionierte:
Code: Alles auswählen
<class 'wx._core.Menu'>
Code: Alles auswählen
<class 'wx._core._wxPyDeadObject'>
Danke fuer Hilfestellungen...