Hello !
Sorry if I write something wrong… I’m not good in english…
I’m trying to do some app with a menu using wxPython…
When I click on a menuitem, i need that open a new form… but i dont know how to do this…
I’m trying:
class SecondFrame ( wx.Frame ):
def init(self):
wx.Frame.init(self, None, title=“Second Frame”)
panel = wx.Panel(self)
txt = wx.StaticText(panel, label=“I’m the second frame!”)
class MyFrame2 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 601,473 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
self.m_mgr = wx.aui.AuiManager()
self.m_mgr.SetManagedWindow( self )
self.m_mgr.SetFlags(wx.aui.AUI_MGR_DEFAULT)
self.m_menubar2 = wx.MenuBar( 0 )
self.m_menu5 = wx.Menu()
self.m_menuItem8 = wx.MenuItem( self.m_menu5, wx.ID_ANY, u"Exportador", u"Exporta os arquivos da Base Local para Base Remota", wx.ITEM_NORMAL )
self.m_menu5.AppendItem( self.m_menuItem8 )
self.m_menuItem9 = wx.MenuItem( self.m_menu5, wx.ID_ANY, u"Integrador App", u"Aguarda chegada de Pedidos do Aplicativo", wx.ITEM_NORMAL )
self.m_menu5.AppendItem( self.m_menuItem9 )
self.m_menubar2.Append( self.m_menu5, u"Integrador" )
self.m_menu12 = wx.Menu()
self.m_menuItem10 = wx.MenuItem( self.m_menu12, wx.ID_ANY, u"Zerar Bonus Cliente", u"Zera bonus de cliente especifico", wx.ITEM_NORMAL )
self.m_menu12.AppendItem( self.m_menuItem10 )
self.m_menuItem11 = wx.MenuItem( self.m_menu12, wx.ID_ANY, u"Adicionar Bonus Cliente", u"Adiciona bonus para cliente especifico", wx.ITEM_NORMAL )
self.m_menu12.AppendItem( self.m_menuItem11 )
self.m_menuItem12 = wx.MenuItem( self.m_menu12, wx.ID_ANY, u"Modificar Bonus Cliente", u"Modifica valor do bonus de cliente especifico", wx.ITEM_NORMAL )
self.m_menu12.AppendItem( self.m_menuItem12 )
self.m_menubar2.Append( self.m_menu12, u"Manutencao" )
self.m_config = wx.Menu()
self.m_menuItem3 = wx.MenuItem( self.m_config, wx.ID_ANY, u"Base de Dados", u"Configuração da Base de Dados", wx.ITEM_NORMAL )
self.m_config.AppendItem( self.m_menuItem3 )
self.m_menuItem4 = wx.MenuItem( self.m_config, wx.ID_ANY, u"Horarios Funcionamento", u"Configura horário de funcionamento do Delivery", wx.ITEM_NORMAL )
self.m_config.AppendItem( self.m_menuItem4 )
self.m_menuItem7 = wx.MenuItem( self.m_config, wx.ID_ANY, u"E-Mails de Segurança", u"Cadastra e-mails de seguranças para caso de \"emergência\"", wx.ITEM_NORMAL )
self.m_config.AppendItem( self.m_menuItem7 )
self.m_menubar2.Append( self.m_config, u"Configurações" )
self.m_menu2 = wx.Menu()
self.m_menubar2.Append( self.m_menu2, u"Sobre" )
self.m_menu3 = wx.Menu()
self.m_menubar2.Append( self.m_menu3, u"Sair" )
self.SetMenuBar( self.m_menubar2 )
self.m_statusBar2 = self.CreateStatusBar( 1 )
self.m_mgr.Update()
self.Centre( wx.BOTH )
# Connect Events
self.Bind( wx.EVT_MENU, self.onMyFrame3, id = self.m_menuItem9.GetId() )
# Virtual event handlers, overide them in your derived class
def onMyFrame3( self, event ):
frame = SecondFrame()
frame.Show()
def __del__( self ):
self.m_mgr.UnInit()
app = wx.App(False)
frame = MyFrame2(None)
frame.Show(True)
app.MainLoop()
···
When I try to compile and run, python returns the following message:
Error: inconsistent indentation detected !
And shows this lines:
def onMyFrame3( self, event ):
frame = SecondFrame()
frame.Show()
But if I try:
def onMyFrame3( self, event ):
event.Skip()
it doesnt return error…
What i’m doing wrong ??