wx.Menubarあれこれ

    def _init_menubar(self):
        """
        メニューバーの初期化を行う
        """
        self.menuBar = wx.MenuBar()

        # 1st menu from left
        menu1 = wx.Menu()

        menu1.Append(100, "&Open\tCTRL+O")
        menu1.AppendSeparator()
        menu1.Append(101, "&Save\tCTRL+S")
        menu1.Append(102, "Save &as...\tCTRL+A")
        menu1.AppendSeparator()
        menu1.Append(103, "E&xit")
        # Add menu to the menu bar
        menuBar.Append(menu1, "File")
        self.SetMenuBar(menuBar)

        self.Bind(wx.EVT_MENU, self.EventLoad,   id = 100)
        self.Bind(wx.EVT_MENU, self.EventSave,   id = 101)
        self.Bind(wx.EVT_MENU, self.EventSaveAs,   id = 102)
        self.Bind(wx.EVT_MENU, self.EventClose, id = 103)

wx.pythonのmenubar初期化関数の例。

  1. 項目のラベル内に&を入れると、次の文字がアンダースコア付きになる。これは多分どのアイテムでも使える。
    • E&xit → Exit こんな感じ。
  2. \tCtrl+Aとかを加えると、ショートカットキー(これだとctrl+A)が設定される。
    • Bind不要。ラクチン。

参考:http://wx.k5-n.com/wxruby/tutorial04.html