Foros del Web » Programando para Internet » Python »

Ayuda [wxpython]

Estas en el tema de Ayuda [wxpython] en el foro de Python en Foros del Web. Buenas a tod@s otra vez Estoy poniendo la funcion de abrir a mi programa, pero me da error, y a simple vista no se que ...
  #1 (permalink)  
Antiguo 24/08/2010, 06:31
 
Fecha de Ingreso: agosto-2010
Ubicación: España
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda [wxpython]

Buenas a tod@s otra vez

Estoy poniendo la funcion de abrir a mi programa, pero me da error, y a simple vista no se que esta mal. He mirado muchas veces y no le encuentro el error

Código Python:
Ver original
  1. #-*- coding: iso-8859-1 -*-
  2. import wx
  3. ID_EXIT = 102
  4. ID_AYU = 103
  5. ID_SAVE = 104
  6.  
  7.  
  8. class Edit(wx.MiniFrame):
  9.     def __init__ (self):
  10.         wx.MiniFrame.__init__(self, None, -1, 'Goxar Editor', wx.DefaultPosition, (900, 700), (wx.DEFAULT_FRAME_STYLE)^(wx.RESIZE_BORDER|wx.MAXIMIZE_BOX))
  11.        
  12.         panel = wx.Panel(self, wx.NewId(), wx.DefaultPosition, (900, 700))
  13.         self.edit = wx.TextCtrl(panel, size=(900, 700), style=wx.TE_MULTILINE)
  14.         self.CreateStatusBar()
  15.         self.SetStatusText("Barra de estado")
  16.            
  17.        
  18.    
  19.         #-----------------------------------------------------------------------
  20.         menubar = wx.MenuBar()
  21.         #menu de archivo
  22.         archi = wx.Menu()
  23.         archi.Append(-1, 'Nuevo', 'Abre un nuevo archivo')
  24.         archi.Append(-2, '', '')
  25.         archi.Append(ID_OPEN, 'Abrir', 'Abre un archivo')
  26.         archi.Append(-1, 'Guardar', 'Sobreescribe el archivo ya guardado')
  27.         archi.Append(-1, 'Guardar como', 'Guarda el archivo')
  28.         archi.Append(-2, '', '')
  29.         archi.Append(ID_EXIT, 'Salir', 'Sale del programa')
  30.         #menu de edicion
  31.         edi = wx.Menu()
  32.         edi.Append(-1, 'Copiar', 'Copia parte del texto')
  33.         edi.Append(-1, 'Cortar', 'Corta parte del texto')
  34.         edi.Append(-1, 'Pegar', 'Pega el contenido del portapapeles')
  35.         #menu de ayuda
  36.         ayu = wx.Menu()
  37.         ayu.Append(ID_AYU, 'Acerca de...', 'Mas informacion acerca del programa')
  38.        
  39.         #eventos
  40.         wx.EVT_MENU(self, ID_EXIT,  self.onClose)
  41.         wx.EVT_MENU(self, ID_AYU, self.about)
  42.         wx.EVT_MENU(self, ID_OPEN, self.Open)
  43.        
  44.        
  45.    
  46.  
  47.        
  48.        
  49.         #barra de menu
  50.         menubar.Append(archi, '&Archivo')
  51.         menubar.Append(edi, '&Edición')
  52.         menubar.Append(ayu, '&Ayuda')
  53.         self.SetMenuBar(menubar)
  54.         #----------------------------------------------------------------------
  55.  
  56.     def onClose(self, *event):
  57.         self.Close(True)
  58.        
  59.     def about(self,e):
  60.         dlg1 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  61.         dlg2 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  62.         dlg3 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  63.         dlg1.ShowModal()
  64.         dlg2.ShowModal()
  65.         dlg3.ShowModal()
  66.         dlg1.Destroy()
  67.         dlg2.Destroy()
  68.         dlg3.Destroy()
  69.  
  70.    
  71.     def Open(self,event):
  72.         self.dirname = ''
  73.         dlg = wx.FileDialog(self, "Elija el archivo", self.dirname,"", "*.*", wx.OPEN)
  74.         if dlg.ShowModal()==wx.ID_OK:
  75.             self.filename=dlg.GetFilename()
  76.             self.dirname=dlg.GetDirectory()
  77.             dlg.Destroy()
  78.  
  79.  
  80.  
  81. class App(wx.App):
  82.     def OnInit(self):
  83.         frame = Edit()
  84.         frame.Show()
  85.         self.SetTopWindow(frame)
  86.         return True
  87.  
  88. if __name__ == '__main__':
  89.     app = App()
  90.     app.MainLoop()

Gracias!
  #2 (permalink)  
Antiguo 24/08/2010, 08:43
AxL456
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda [wxpython]

pues no has especificado cual es el valor para el ID_OPEN

si deseas usar los valores predeterminados para esas ID's y asi evitarte el problema de asignar una misma ID a varios widgets debes llamarlas con el prefijo "wx"..

para el ID_OPEN debes decir wx.ID_OPEN..

aqui te dejo una lista de las ids predeterminadas
http://docs.wxwidgets.org/stable/wx_....html#stdevtid
  #3 (permalink)  
Antiguo 24/08/2010, 09:58
 
Fecha de Ingreso: agosto-2010
Ubicación: España
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda [wxpython]

Entiendo, muchas gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:43.