Seite 1 von 1

Menü und Radio Items

Verfasst: Freitag 4. Januar 2008, 15:48
von hmueller
Hallo!

Ich habe ein Menü, in dem sich einige Radio Items befinden, neben anderen Items.
Nun möchte ich nach dem aufbau des menüs später im Programmverlauf noch Radio Items dazufügen - diese sind aber anscheinend nicht mit den bisher existierenden zusammengeschaltet, ausserdem scheint das Binding nicht zu funktionieren.

leider ist das gesamte Programm zu groß, als dass ich hier ein Beispiel reingeben könnte, hat irgendjemand trotzdem eine Idee, was da falsch sein könnte?

Code: Alles auswählen

menu = self.menubar.GetMenu(self.menubar.FindMenu("Window"))
tem = wx.MenuItem(menu, -1, "&Test", kind=wx.ITEM_RADIO)
menuid = menu.AppendItem(item)
menuid.Check(False)
self.Bind(wx.EVT_MENU, self.OnPluginMenu, menuid)

Verfasst: Montag 7. Januar 2008, 19:02
von CM
Hoi,

Nun, da niemand sonst antwortet versuche ich mich mal: Magst Du uns vielleicht eine kleine Kostprobe geben, die das Problem reproduziert? Der Code sieht doch eigentlich ok aus.

(Nur nebenbei: Dein Beispiel wird nicht funktionieren und einen Traceback provozieren. Ich nehme mal an, daß das 'i' von 'item' nur beim Paste verschluckt wurde ;-) .)

Gruß,
Christian

Verfasst: Montag 7. Januar 2008, 19:09
von hmueller
Ups, in der Tat, da war ein copy/paste/zusammenkuerz-fehler.

Ich habe nun herausgefunden, dass RadioItems im Menü etwas komplexer sind, als ich angenommen habe. Die Items werden beim Anlegen gruppiert, ich nehme an nach ansteigenden IDs. Vielleicht kann man das umgehen, indem man eine Reihe von IDs vorreserviert, das habe ich nicht versucht.

Ich habe einen Workaround implementiert, dass die später dynamisch hinzugefügten dann keine RadioItems mehr sind, und in einem (deaktivierten) RadioItem "zusammengefasst" sind, das schon am Anfang angelegt wird. Nicht extrem schön, aber durchaus passend für meinen Anwendungszweck.