Seite 1 von 1

Radio Item im Menü aus-/abwählen

Verfasst: Donnerstag 2. März 2006, 14:19
von Buell
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...

Verfasst: Donnerstag 2. März 2006, 14:54
von Buell
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

Verfasst: Donnerstag 2. März 2006, 15:13
von Francesco
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.

Verfasst: Donnerstag 2. März 2006, 16:43
von Buell
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.