Foros del Web » Programando para Internet » Python »

Como cerrar una pestaña de un Notebook en wxPython

Estas en el tema de Como cerrar una pestaña de un Notebook en wxPython en el foro de Python en Foros del Web. Me gustaria tener un boton para cerrar las pestañas que este dentro del panel, pero como la misma pestaña se usa varias veces entonse me ...
  #1 (permalink)  
Antiguo 01/01/2010, 11:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 22
Antigüedad: 15 años, 2 meses
Puntos: 0
Exclamación Como cerrar una pestaña de un Notebook en wxPython

Me gustaria tener un boton para cerrar las pestañas que este dentro del panel, pero como la misma pestaña se usa varias veces entonse me marca un error, que no se como se resuelve, este es mi codigo:
Código Python:
Ver original
  1. import wx
  2. app = wx.PySimpleApp()
  3. self = wx.Frame(None, -1, "Vonceff", size=(600,600))
  4.  
  5. Panel = wx.Panel(self)
  6. Notebook = wx.Notebook(Panel)
  7.  
  8. def start():
  9.     def delate(event):
  10.         page_2.Destroy()
  11.     page_2 = wx.Panel(Notebook)
  12.     a = wx.Button(page_2, -1, "Eliminar pestana")
  13.     a.Bind(wx.EVT_BUTTON,delate)
  14.     Notebook.AddPage(page_2, "Tab 1")
  15. start()
  16. start()
  17.  
  18. sizer = wx.BoxSizer()
  19. sizer.Add(Notebook, 1, wx.EXPAND)
  20. Panel.SetSizer(sizer)
  21.  
  22. self.Show()
  23.  
  24. app.MainLoop()

Porfa pongan el codigo corregido.
  #2 (permalink)  
Antiguo 01/01/2010, 13:32
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: Como cerrar una pestaña de un Notebook en wxPython

Código Python:
Ver original
  1. import wx
  2. import wx.lib.inspection
  3. app = wx.PySimpleApp()
  4. self = wx.Frame(None, -1, "Vonceff", size=(600,600))
  5.  
  6. Panel = wx.Panel(self)
  7. Notebook = wx.aui.AuiNotebook(Panel)
  8.  
  9.  
  10. def start():
  11.     #def delate(event):
  12.     #    page_2.Destroy()
  13.     page_2 = wx.Panel(Notebook)
  14.     #a = wx.Button(page_2, -1, "Eliminar pestana")
  15.     #a.Bind(wx.EVT_BUTTON,delate)
  16.     Notebook.AddPage(page_2, "Tab 1")
  17. start()
  18. start()
  19.  
  20. sizer = wx.BoxSizer()
  21. sizer.Add(Notebook, 1, wx.EXPAND)
  22. Panel.SetSizer(sizer)
  23.  
  24. self.Show()
  25.  
  26. app.MainLoop()
Parece que alguien no ha leído la documentación.
  #3 (permalink)  
Antiguo 01/01/2010, 15:14
 
Fecha de Ingreso: septiembre-2009
Mensajes: 22
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Como cerrar una pestaña de un Notebook en wxPython

Que no se puede ¿o que?
  #4 (permalink)  
Antiguo 01/01/2010, 16:23
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: Como cerrar una pestaña de un Notebook en wxPython

Código Python:
Ver original
  1. import wx
  2. app = wx.PySimpleApp()
  3. self = wx.Frame(None, -1, "Vonceff", size=(600,600))
  4.  
  5. Panel = wx.Panel(self)
  6. Notebook = wx.Notebook(Panel)
  7.  
  8. def start():
  9.     def delate(event):
  10.         page_2.Show(False)
  11.     page_2 = wx.Panel(Notebook)
  12.     a = wx.Button(page_2, -1, "Eliminar pestana")
  13.     a.Bind(wx.EVT_BUTTON,delate)
  14.     Notebook.AddPage(page_2, "Tab 1")
  15. start()
  16. start()
  17.  
  18. sizer = wx.BoxSizer()
  19. sizer.Add(Notebook, 1, wx.EXPAND)
  20. Panel.SetSizer(sizer)
  21.  
  22. self.Show()
  23.  
  24. app.MainLoop()

Tu problema era muy simple, usa Show en vez de Destroy

Etiquetas: cerrar, notebook, pestaña
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 18:20.