Foros del Web » Programando para Internet » Python »

Que tengo mal? [wxpython]

Estas en el tema de Que tengo mal? [wxpython] en el foro de Python en Foros del Web. Por mas vueltas que le doy a este code, no le encuentro el error. Seguramente este en la funcion de guardar, porque antes de ponerla ...
  #1 (permalink)  
Antiguo 25/08/2010, 14:48
 
Fecha de Ingreso: agosto-2010
Ubicación: España
Mensajes: 9
Antigüedad: 14 años, 3 meses
Puntos: 0
Que tengo mal? [wxpython]

Por mas vueltas que le doy a este code, no le encuentro el error. Seguramente este en la funcion de guardar, porque antes de ponerla funcionaba perfectamente :S

Código Python:
Ver original
  1. #-*- coding: iso-8859-1 -*-
  2. import wx
  3. ID_EXIT = 200
  4. ID_ABOUT = 101
  5. ID_OPEN = 102
  6. ID_Save = 103
  7.  
  8.  
  9.  
  10.  
  11. class Edit(wx.MiniFrame):
  12.     def __init__ (self):
  13.         wx.MiniFrame.__init__(self, None, -1, 'Goxar Editor', wx.DefaultPosition, (900, 700), (wx.DEFAULT_FRAME_STYLE)^(wx.RESIZE_BORDER|wx.MAXIMIZE_BOX))
  14.        
  15.         panel = wx.Panel(self, wx.NewId(), wx.DefaultPosition, (900, 700))
  16.         self.edit = wx.TextCtrl(panel, size=(900, 700), style=wx.TE_MULTILINE)
  17.         self.CreateStatusBar()
  18.         self.SetStatusText("Barra de estado - Goxar Editor de texto plano")
  19.            
  20.        
  21.    
  22.         #-----------------------------------------------------------------------
  23.         menubar = wx.MenuBar()
  24.         #menu de archivo
  25.         archi = wx.Menu()
  26.         archi.Append(-1, 'Nuevo', 'Abre un nuevo archivo')
  27.         archi.Append(-2, '', '')
  28.         archi.Append(ID_OPEN, 'Abrir', 'Abre un archivo')
  29.         archi.Append(-1, 'Guardar', 'Sobreescribe el archivo ya guardado')
  30.         archi.Append(ID_SAVE, 'Guardar como', 'Guarda el archivo')
  31.         archi.Append(-2, '', '')
  32.         archi.Append(ID_EXIT, 'Salir', 'Sale del programa')
  33.         #menu de edicion
  34.         edi = wx.Menu()
  35.         edi.Append(-1, 'Copiar', 'Copia parte del texto')
  36.         edi.Append(-1, 'Cortar', 'Corta parte del texto')
  37.         edi.Append(-1, 'Pegar', 'Pega el contenido del portapapeles')
  38.         #menu de ayuda
  39.         ayu = wx.Menu()
  40.         ayu.Append(ID_ABOUT, 'Acerca de...', 'Mas informacion acerca del programa')
  41.        
  42.         #eventos
  43.         wx.EVT_MENU(self, ID_EXIT,  self.onClose)
  44.         wx.EVT_MENU(self, ID_ABOUT, self.about)
  45.         wx.EVT_MENU(self, wx.ID_OPEN, self.Open)
  46.         wx.EVT_MENU(self, wx.ID_SAVE, self.Save)
  47.        
  48.        
  49.    
  50.  
  51.        
  52.        
  53.         #barra de menu
  54.         menubar.Append(archi, '&Archivo')
  55.         menubar.Append(edi, '&Edición')
  56.         menubar.Append(ayu, '&Ayuda')
  57.         self.SetMenuBar(menubar)
  58.         #----------------------------------------------------------------------
  59.        
  60.        
  61.     #cerrar
  62.     def onClose(self, *event):
  63.         self.Close(True)
  64.     #acerca de
  65.     def about(self,e):
  66.         dlg1 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  67.         dlg2 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  68.         dlg3 = wx.MessageDialog( self, "blablabla", "", wx.OK)
  69.         dlg1.ShowModal()
  70.         dlg2.ShowModal()
  71.         dlg3.ShowModal()
  72.         dlg1.Destroy()
  73.         dlg2.Destroy()
  74.         dlg3.Destroy()
  75.  
  76.     #abrir
  77.     def Open(self,event):
  78.         self.dirname = ''
  79.         dlg = wx.FileDialog(self, "Abrir", self.dirname,"", "*.*", wx.OPEN)
  80.         if dlg.ShowModal()==wx.ID_OK:
  81.             self.filename=dlg.GetFilename()
  82.             self.dirname=dlg.GetDirectory()
  83.             a = open(self.filename, 'r')
  84.             self.edit.SetValue(a.read())
  85.             self.edit.write(self.filename)
  86.            
  87.            
  88.     def Save(self,event):
  89.         dlg2 = wx.FileDialog(self, "Guardar como", self.dirname, "", "*.*", wx.SAVE | wx.OVERWRITE_PROMPT)
  90.                
  91.         if dlg2.ShowModal()==wx.ID_OK:
  92.            itcontains=self.edit.GetValue()
  93.             self.filename=dlg2.GetFilename()
  94.             self.dirname=dlg2.GetDirectory()
  95.             filehandle=open(os.path.join(self.dirname, self.filename),'w')
  96.             filehandle.write(itcontains)
  97.             filehandle.close()
  98.        
  99.         dlg2.Destroy()
  100.        
  101.        
  102.            
  103.        
  104.            
  105.  
  106.  
  107.  
  108. class App(wx.App):
  109.     def OnInit(self):
  110.         frame = Edit()
  111.         frame.Show()
  112.         self.SetTopWindow(frame)
  113.         return True
  114.  
  115. if __name__ == '__main__':
  116.     app = App()
  117.     app.MainLoop()
  #2 (permalink)  
Antiguo 25/08/2010, 22:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Que tengo mal? [wxpython]

Es por que Python ReCoNoCe MAYÚSCULAS de minúsculas.
debería ser ID_SAVE no ID_Save

Ahora te recomendaría iniciar con las lecturas de siempre:
Python para todos
Dive into python

Etiquetas: mal
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 08:21.