menubar.FindMenuItem: Problem mit Mnemonic Keys?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Folgender Code:

Code: Alles auswählen

import wx

class MainFrame(wx.Frame):

    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, "hallo")

        menubar = wx.MenuBar()
        self.SetMenuBar(menubar)
        menu = wx.Menu()
        menu.Append(-1, "Hallo")
        menubar.Append(menu, "File")

        self.Show(True)

        print self.GetMenuBar().FindMenuItem("File", "&Hallo")
        print self.GetMenuBar().FindMenuItem("File", "Hallo")

app = wx.PySimpleApp()
MainFrame(None, -1)
app.MainLoop()
findet mein Menu Item, Ausgabe sieht dann so aus:

Code: Alles auswählen

100
100
Aendere ich jedoch Zeile 11, sodass das Item einen Mnemonic Key hat, also

Code: Alles auswählen

menu.Append(-1, "&Hallo")
wird das Item nicht mehr gefunden:

Code: Alles auswählen

-1
-1
Das hab ich mir irgendwie anders vorgestellt... Weiss jemand Rat? Wie finde ich mein Item?
Systeminfo:

Code: Alles auswählen

Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> wx.__version__
'2.8.7.1'
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Rebecca

Habe dein Code-Snippet auf meinem Sytem ausprobiert. Bei mir funktioniert es korrekt.

Die Ausgabe auf der Konsole ist mit und ohne Änderung:

Code: Alles auswählen

100
100
Mein Setup hier ist:

Code: Alles auswählen

Linux: SuSE 11.0
wx-Version: 2.8.9.2
python-Version: 2.5.2
gcc-Version: 4.3-39.1
Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Auch bei mir funktionieren beide Varianten.

Code: Alles auswählen

sys.version: 2.6.1 (r261:67517, Dec  4 2008, 16:51:00) [MSC v.1500 32bit (Intel)]
sys.platform: win32
sys.winver: 2.6
wx.VERSION_STRING: 2.8.9.1
MfG
HWK
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Ok, danke. Vlt. werde ich mir die Tage mal eine neuere wxPython-Version installieren, ihr beide habt ja 2.8.9.*

Obwohl diese Version ja schon lange bei Debian dabei ist, und ich bin mir jetzt doch relativ sicher, dass es hier schonmal geklappt hat mit aehnlichem Code. Allerdings bin ich in der Zwischenzeit auf 64bit umgestiegen...
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Antworten