2016-09-24 1 views
0

Ich habe ein Menü definiert mit XRC wie folgen aus:Wie kann ich programmatisch den Überprüfungsstatus eines Python XRC MenuItem?

<object class="wxMenuItem" name="MenuItem_ShowTooltips"> 
    <label>Show tooltips</label> 
    <checkable>1</checkable> 
</object> 

, die ich von ihm in meinem app initialisieren sind geordneten Rahmen wie dieses

self.frame = self.res.LoadFrame(None, 'MainFrame')

Wenn meine app beginnt ich eine Benutzereinstellungsdatei überprüfen Anfangswerte (a boolean in diesem Fall) zu erhalten und wollen die MenuItem aktivieren oder deaktivieren Sie auf der Grundlage dieser Parameter. Bei einem normalen wx Kontrolle konnte ich so etwas wie

self.MenuItem_ShowTooltips.Check(self.UserPreferences['ShowTooltips'])

verwenden Wie kann ich einen Griff auf der XRC erhalten MenuItem_ShowTooltips Steuerelement erstellt?

Antwort

0

Nun, nach ein paar Tagen von Fiedeln, fand ich meine Antwort. Im Fall hilft es jemand anderes, oder falls ich vergessen und wieder auf Stackoverflow am Ende wieder die Antwort zu finden, hier ist es.

Um einen Griff auf den Menüpunkt erhalten Sie GetMenuBar() Methode des wx Fenster verwenden.

self.MenuItem_ShowTooltips = self.TopWindow.GetMenuBar().FindItemById(xrc.XRCID('MenuItem_ShowTooltips')) 

Sobald Sie einen Griff auf das haben, können Sie festlegen es Staat wie dieser

self.MenuItem_ShowTooltips.Check(self.UserPreferences['ShowTooltips']) 

geprüft, und Sie binden ihn an einer Veranstaltung wie dieser

self.frame.Bind(wx.EVT_MENU, self.SaveUserPrefs, id=xrc.XRCID('MenuItem_ShowTooltips')) 
Verwandte Themen