Radio Item im Menü aus-/abwählen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Buell
User
Beiträge: 90
Registriert: Samstag 29. Oktober 2005, 14:17

Donnerstag 2. März 2006, 14:19

Hallo,

noch ne Frage von mir:

Ich habe in einem MDI fenster in der MenuBar ein Menü indem sich Radio Items (wx.ITEM_RADIO) befinden:

Code: Alles auswählen

        menu_module = wx.Menu()
        i = 0
        for item in self.modules:
            menu_module.Append(self.ID_Module[i], item, kind=wx.ITEM_RADIO)
            i += 1
        menu_module.AppendSeparator()
        menu_module.Append(ID_Exit, "E&xit")
        menubar = wx.MenuBar()
        menubar.Append(menu_module, "&Modules")
Die for-Schleife ergibt eine Liste von 3 Radio Items. Nun möchte ich im nachhinein festlegen (während des Programmablaufes) welcher Radio Item ausgewählt ist, ohne das Menü zu benutzen. Also falls etwas geändert wurde, soll beim nächsten Öffnen des Menüs der "richtige" Item gewählt sein.

Ich denke mal es gibt da bestimmt so etwas in der Art wie:

self.ID_Module[2].selected oder so, finde aber leider gerade nicht das richtige...

...da weiß doch bestimmt einer genau das richitige...
Buell
User
Beiträge: 90
Registriert: Samstag 29. Oktober 2005, 14:17

Donnerstag 2. März 2006, 14:54

also bin der Sache schon etwas näher gekommen, aber noch nicht gelöst:

ich kann natürlich nicht einfach auf die Variable zugreifen, sondern muss das gesamte Menü ansprechen:

item = self.GetMenuBar().FindItemById(id)

dann sollte so etwas in der Art folgen wie:

item.SetSelected(True) oder so ähnlich, aber was genau ... bis jetzt leider noch nix gefunden
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Donnerstag 2. März 2006, 15:13

Buell hat geschrieben:also bin der Sache schon etwas näher gekommen, aber noch nicht gelöst:

ich kann natürlich nicht einfach auf die Variable zugreifen, sondern muss das gesamte Menü ansprechen:

item = self.GetMenuBar().FindItemById(id)

dann sollte so etwas in der Art folgen wie:

item.SetSelected(True) oder so ähnlich, aber was genau ... bis jetzt leider noch nix gefunden
Es gibt die Methode Check() in sowohl in wx.Menu als auch in wx.MenuItem.
Buell
User
Beiträge: 90
Registriert: Samstag 29. Oktober 2005, 14:17

Donnerstag 2. März 2006, 16:43

Erstmal vielen Dank dir mal wieder!

mit Check gibt es zumindest keine Fehlermeldung nur ändert sich noch nix. Das kann natürlich auch an was anderem liegen. Ich werde das mal erforschen.
Antworten