Foros del Web » Programando para Internet » Python »

Varios Frames (boa)

Estas en el tema de Varios Frames (boa) en el foro de Python en Foros del Web. Hola gente, soy nuevo aquí...andaba buscando un buen foro de python y me topé con este, se ve activo... Tengo una duda con el BOA ...
  #1 (permalink)  
Antiguo 07/10/2011, 10:12
 
Fecha de Ingreso: octubre-2011
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Varios Frames (boa)

Hola gente, soy nuevo aquí...andaba buscando un buen foro de python y me topé con este, se ve activo...

Tengo una duda con el BOA es que no se como abrir otra ventana (frame) mediante un evento, en este caso al pulsar un botón.

Saludos!!
  #2 (permalink)  
Antiguo 07/10/2011, 11:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Varios Frames (boa)

Te recomendaría mejor empezar con interfaces gráficas sin algún editor gráfico.

Código Python:
Ver original
  1. import wx
  2.  
  3. class MyFrame(wx.Frame):
  4.     def __init__(self, *args, **kwargs):
  5.         wx.Frame.__init__(self, *args, **kwargs)
  6.         self.panel = MyPanel(self, -1)
  7.        
  8. class MyPanel(wx.Panel):
  9.     def __init__(self, *args, **kwargs):
  10.         wx.Panel.__init__(self, *args, **kwargs)
  11.         button = wx.Button(self, -1, label="Click me")
  12.         button.Bind(wx.EVT_BUTTON, self.onClick)
  13.        
  14.     def onClick(self, event):
  15.         print "Click"
  16.  
  17. if __name__ == "__main__":
  18.     app = wx.App(0)
  19.     frame = MyFrame(None, -1)
  20.     frame.Show()
  21.     app.MainLoop()
  #3 (permalink)  
Antiguo 07/10/2011, 11:47
 
Fecha de Ingreso: octubre-2011
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Varios Frames (boa)

Gracias por la recomendación, no se pq es mejor sin el editor si ya te genera el código, llevo tiempo con python con ide en consola pero estoy aprendiendo boa.

Te pondo el código a ver si me puedes ayudar..

Código:
import wx

def create(parent):
    return Frame1(parent)

[wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1PANEL1, 
] = [wx.NewId() for _init_ctrls in range(3)]

class Frame1(wx.Frame):
    def _init_ctrls(self, prnt):
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(365, 327), size=wx.Size(853, 616),
              style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
        self.SetClientSize(wx.Size(853, 616))

        self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self,
              pos=wx.Point(0, 0), size=wx.Size(853, 616),
              style=wx.TAB_TRAVERSAL)

        self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label='button1',
              name='button1', parent=self.panel1, pos=wx.Point(176, 80),
              size=wx.Size(85, 29), style=0)
        self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button,
              id=wxID_FRAME1BUTTON1)

    def __init__(self, parent):
        self._init_ctrls(parent)

    def OnButton1Button(self, event):
        import Frame2
        Frame2.Show(True) #Aqui!! pero asi no vale.... tampoco llamandolo
        event.Skip()
Donde el comentario intento que aparezca el frame pero así no vale y tampoco llamándolo, solo necesito saber como lo invoco...

Última edición por pyton; 07/10/2011 a las 11:54
  #4 (permalink)  
Antiguo 07/10/2011, 12:31
 
Fecha de Ingreso: octubre-2011
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Varios Frames (boa)

Bueno ya lo tengo. dejo el código por si le sirve a alguien, solo el dl evento

Código:
    def OnButton1Button(self, event):
        import Frame2
        self.main = Frame2.create(None)
        self.main.Show()
        event.Skip()
si quieren que solo este activa la ventana nueva ShowModal...

Saludos y gracias =

Cualquier cosa, pregunten...

Última edición por pyton; 07/10/2011 a las 12:39
  #5 (permalink)  
Antiguo 07/10/2011, 15:55
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Varios Frames (boa)

Es una mala practica poner los import dentro de cualquier sentencia o función.

Una buena practica es poner todos tus imports al principio del modulo.
  #6 (permalink)  
Antiguo 07/10/2011, 16:25
 
Fecha de Ingreso: octubre-2011
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Varios Frames (boa)

Cita:
Iniciado por razpeitia Ver Mensaje
Es una mala practica poner los import dentro de cualquier sentencia o función.

Una buena practica es poner todos tus imports al principio del modulo.
Ok, corregido. Muchas gracias.
Un saludo.

Etiquetas: frames
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 22:24.