TaskBarIcon.CreatePopupMenu toetet mein Menue

Plattformunabhängige GUIs mit wxWidgets.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

TaskBarIcon.CreatePopupMenu toetet mein Menue

Beitragvon nkoehring » 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:

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...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: TaskBarIcon.CreatePopupMenu toetet mein Menue

Beitragvon gerold » Donnerstag 10. Januar 2008, 09:13

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Donnerstag 10. Januar 2008, 11:03

Danke... ich hab es jetzt auch so gemacht. In diesem Menue brauchte ich sowieo ein paar andere Eintraege ...
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Donnerstag 10. Januar 2008, 18:42

Ich habe das bisher auch so gemacht. Alle Beispiele, die ich gesehen habe, ebenso, z.B.
MfG
HWK

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder