wx python窗口无法隐藏我的MenuBar

时间:2014-08-25 21:35:59

标签: python wxpython

Yop,所有都是标题,我想在我的软件上隐藏我的wx.MenuBar(),这在我的Ubuntu上运行良好,但是当我在Windows上切换我的软件时,我的wx.MenuBar()没有隐藏......有什么想法吗?

    menuBar = wx.MenuBar()
    self.fileMenu = wx.Menu()
    i = self.fileMenu.Append(-1, _("Load Model\tCTRL+L"))
    self.Bind(wx.EVT_MENU, self.showLoadModel(), i)
    menuBar.Append(self.fileMenu, 'File')
    self.SetMenuBar(menuBar)
    menuBar.Hide()

编辑:那么如何在没有EVT_MENU的情况下捕获CTRL + L?

1 个答案:

答案 0 :(得分:0)

我发现它是好的:

#!/usr/bin/python
# -*- coding: utf-8 -*-


import wx

class Example(wx.Frame):

    def __init__(self, *args, **kw):
        super(Example, self).__init__(*args, **kw) 

        self.InitUI()

    def InitUI(self):

        pnl = wx.Panel(self)
        pnl.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
        pnl.SetFocus()

        self.SetSize((250, 180))
        self.SetTitle('Key event')
        self.Centre()
        self.Show(True)  

    def OnKeyDown(self, e):

        key = e.GetKeyCode()

        if key == wx.WXK_ESCAPE:

            ret  = wx.MessageBox('Are you sure to quit?', 'Question', 
                wx.YES_NO | wx.NO_DEFAULT, self)

            if ret == wx.YES:
                self.Close()               

def main():

    ex = wx.App()
    Example(None)
    ex.MainLoop()