Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/01/2009, 18:51
iozk
 
Fecha de Ingreso: mayo-2008
Mensajes: 499
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: como hacer guardar al programa

ya quedo pero no puedo hacer que abra los archivos con el estilo que tiene hasta que no escribo primero y luego los abro y si los abre con el stilo

y asi quedo...
Código python:
Ver original
  1. import wx
  2. import os
  3.  
  4.  
  5. class text(wx.Frame):
  6.     def __init__(self, parent, id, title):
  7.         wx.Frame.__init__(self, parent, id, title, size = (600, 550))
  8.  
  9. #barra de menu
  10.         menubar = wx.MenuBar()
  11. #menu: contenido
  12.         menu = wx.Menu() #archivo
  13.         nuev = wx.Menu()
  14.         nuev.Append(100, "&Nuevo\tCtrl+N", 'Nuevo archivo')
  15.         nuev.Append(200, "Nueva &Ventana\tCtrl+O", 'Nueva ventana para otro archivo')
  16.         menu.AppendMenu(-1, "Nuevo", nuev)
  17.         menu.Append(2, "&Abrir\tCtrl+A", "Abrir Archivo existente")
  18.         menu.Append(3, "&Guardar\tCtrl+G", "Guardar archivo")
  19.         menu.AppendSeparator()
  20.         menu.Append(5, "&Salir\tCtrl+Q", "Salir del programa")
  21.         edit = wx.Menu()
  22.         edit.Append(10, "&Deshacer\tCtrl+Z", 'deshacer ultimo')
  23.         edit.Append(11, "&Rehacer\tCtrl+U", 'hacer denuevo')
  24.         edit.AppendSeparator()
  25.         edit.Append(12, "&Seleccionar Todo\tCtrl+E", 'seleccionar todo el texto')
  26.         edit.AppendSeparator()
  27.         edit.Append(13, "&Cortar\tCtrl+X", 'cortar texto seleccionado')
  28.         edit.Append(14, "&Pegar\tCtrl+V", 'pegar texto')
  29.         edit.Append(15, "Cop&iar\tCtrl+C", 'Copiar texto seleccionado')
  30.         help = wx.Menu()
  31.         help.Append(20, "&Acerca de...", 'Sobre este programa')
  32.         menubar.Append(menu, "&Archivo")
  33.         menubar.Append(edit, "&Edicion")
  34.         menubar.Append(help, "A&yuda")
  35.         self.SetMenuBar(menubar)
  36.        
  37. #texto enrikecido
  38.         self.text = wx.TextCtrl(self, -1, style = wx.TE_MULTILINE|wx.TE_RICH)
  39.         self.text.SetInsertionPoint(0)
  40.         points = self.text.GetFont().GetPointSize()
  41.         f = wx.Font(points + 2, wx.MODERN, wx.NORMAL, wx.BOLD, False)
  42.         self.text.SetStyle(13, 12, wx.TextAttr("white", wx.NullColour, f))
  43.         self.text.SetBackgroundColour('Black')
  44.  
  45. #eventos
  46.         self.Bind(wx.EVT_MENU, self.OnSalir, id=5)
  47.         self.Bind(wx.EVT_MENU, self.OnVentan, id=200)
  48.         self.Bind(wx.EVT_MENU, self.OnOpen, id=2)
  49.         self.Bind(wx.EVT_MENU, self.OnSave, id=3)
  50.        
  51. #mostrar
  52.         self.filename = ""
  53.         self.dirname = ''
  54.         self.CreateStatusBar()
  55.         self.Centre()
  56.         self.createToolBar()
  57.         self.Show(True)
  58.  
  59.     def OnOpen(self, event):
  60.         dlg = wx.FileDialog(self, "Escojer archivo", self.dirname, "", "*.*", wx.OPEN)
  61.         if dlg.ShowModal() == wx.ID_OK:
  62.             self.filename=dlg.GetFilename()
  63.             self.dirname=dlg.GetDirectory()
  64.  
  65.             filehandle=open(os.path.join(self.dirname, self.filename),'r')
  66.             self.text.SetValue(filehandle.read())
  67.             filehandle.close()
  68.  
  69.             self.SetTitle("Edicion"+self.filename)
  70.         dlg.Destroy()
  71.  
  72.     def OnSave(self, event):
  73.         # abrir el archivo
  74.         dlg = wx.FileDialog(self, "Numbre del archivo", self.dirname, "", "*.*", \
  75.                 wx.SAVE | wx.OVERWRITE_PROMPT)
  76.         if dlg.ShowModal() == wx.ID_OK:
  77.             # grabar el contenido
  78.             itcontains = self.text.GetValue()
  79.  
  80.               # Abrir el archivo
  81.             self.filename=dlg.GetFilename()
  82.             self.dirname=dlg.GetDirectory()
  83.             filehandle=open(os.path.join(self.dirname, self.filename),'w')
  84.             filehandle.write(itcontains)
  85.             filehandle.close()
  86.         dlg.Destroy()
  87.        
  88.     def OnSalir(self, event):
  89.         self.Close()
  90.  
  91.     def OnVentan(self, event):
  92.         editor = text(None, -1, 'Text Editor')
  93.         editor.Centre()
  94.         editor.Show()
  95.  
  96.     def createToolBar(self):
  97.         toolbar = self.CreateToolBar()
  98.         toolbar.AddSimpleTool(200, wx.Bitmap('icns/Nuevo.png'), 'Nuevo', '')
  99.         toolbar.AddSimpleTool(2, wx.Bitmap('icns/abrir.png'), 'Abrir', '')
  100.         toolbar.AddSimpleTool(3, wx.Bitmap('icns/Guardar.png'), 'Guardar', '')
  101.         toolbar.AddSeparator()
  102.  
  103.         toolbar.AddSimpleTool(33, wx.Bitmap('icns/cortar.png'), 'Cortar', '')
  104.         toolbar.AddSimpleTool(34, wx.Bitmap('icns/copiar.png'), 'copiar', '')
  105.         toolbar.AddSimpleTool(35, wx.Bitmap('icns/pegar.png'), 'Pegar', '')
  106.         toolbar.AddSeparator()
  107.  
  108.         toolbar.AddSimpleTool(36, wx.Bitmap('icns/des.png'), 'Deshacer', '')
  109.         toolbar.AddSimpleTool(37, wx.Bitmap('icns/rea.png'), 'Rehacer', '')
  110.         toolbar.Realize()
  111.  
  112.         ##Eventos de herramientas
  113.  
  114.  
  115. app = wx.App()
  116. text(None, -1, 'Hipertext Editor')
  117. app.MainLoop()