내 응용 프로그램은 두 개의 MDIChildFrame을 열려고하는 하나의 MDIParentFrame으로 구성됩니다. MDIChildFrame을 열 때마다 내 MDIParentFrame이 메뉴 막대에 MDIChildFrame에서 내 보낸 메뉴를 표시하고 자신의 메뉴를 복구하지 않기 때문에 "시도"라고 말합니다.wxPython MDIChildFrame 메뉴
MDIPhrentFrame이 해당 메뉴를 통해 두 번째 MDIChildFrame을로드하기 위해 다시 자체 메뉴를 표시하도록 내 MDIChildFrame을 비활성화하는 방법을 모르겠습니다. 당신의 도움에 대한
import wx
class MDIFrame(wx.MDIParentFrame):
def __init__(self):
wx.MDIParentFrame.__init__(self, None, -1, "MDI Parent",size=(600,400))
menu = wx.Menu()
menu.Append(5000, "&New Window 1")
menu.Append(5002, "&New Window 2")
menu.Append(5001, "E&xit")
menubar = wx.MenuBar()
menubar.Append(menu, "&File")
self.SetMenuBar(menubar)
self.Bind(wx.EVT_MENU, self.OnNewWindow1, id=5000)
self.Bind(wx.EVT_MENU, self.OnExit, id=5001)
self.Bind(wx.EVT_MENU, self.OnNewWindow2, id=5002)
def OnExit(self, evt):
self.Close(True)
def OnNewWindow1(self, evt):
#win = wx.MDIChildFrame(self, -1, "Child Window")
win = MDIHijo1(self)
win.Show(True)
def OnNewWindow2(self, evt):
#win = wx.MDIChildFrame(self, -1, "Child Window")
win = MDIHijo2(self)
win.Show(True)
class MDIHijo1(wx.MDIChildFrame):
def __init__(self,parent):
wx.MDIChildFrame.__init__(self,parent,title='Ventana Hijo 1')
menu = wx.Menu()
menu.Append(5500, "&Son 1")
menu.Append(5501, "&Son 1")
menubar = wx.MenuBar()
menubar.Append(menu, "&File")
self.SetMenuBar(menubar)
class MDIHijo2(wx.MDIChildFrame):
def __init__(self,parent):
wx.MDIChildFrame.__init__(self,parent,title='Ventana Hijo 2')
menu = wx.Menu()
menu.Append(5500, "&Son 2")
menu.Append(5501, "&Son 2")
menubar = wx.MenuBar()
menubar.Append(menu, "&File")
self.SetMenuBar(menubar)
app = wx.PySimpleApp()
frame = MDIFrame()
frame.Show()
app.MainLoop()
고마워, 안부, 하비에르 :
여기 내 코드입니다.
작업 코드와 함께 명확한 질문을 게시 해 주셔서 감사합니다. 나는 그게 관련이 있는지는 모르겠지만 - 아마도 그렇지는 않을 것이다 - 그러나 하드 코딩 된 nimbers wxIDs를 할당하는 것은 당황스럽게 보인다. wx.NewId()에서 가져와야합니다. – GreenAsJade