Seite 1 von 1

TaskBarIcon.CreatePopupMenu toetet mein Menue

Verfasst: Donnerstag 10. Januar 2008, 00:29
von nkoehring
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:

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

    #[...]
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:

Code: Alles auswählen

<class 'wx._core.Menu'>
Nachdem ich es vom TrayIcon aufrufen ließ:

Code: Alles auswählen

<class 'wx._core._wxPyDeadObject'>
... 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...

Re: TaskBarIcon.CreatePopupMenu toetet mein Menue

Verfasst: Donnerstag 10. Januar 2008, 09:13
von gerold
nkoehring hat geschrieben:... bin ich gezwungen das Menue bei jedem Aufruf neu zu erzeugen?
Hallo nkoehring!

Gezwungen -- vielleicht nicht. Aber ich würde das Menü trotzdem einfach bei Bedarf neu erstellen. Frag mich nicht warum. Das ist nur so ein Gefühl.

lg
Gerold
:-)

Verfasst: Donnerstag 10. Januar 2008, 11:03
von nkoehring
Danke... ich hab es jetzt auch so gemacht. In diesem Menue brauchte ich sowieo ein paar andere Eintraege ...

Verfasst: Donnerstag 10. Januar 2008, 18:42
von HWK
Ich habe das bisher auch so gemacht. Alle Beispiele, die ich gesehen habe, ebenso, z.B.
MfG
HWK