Mini-Curso de wxPython 3. Aplicaciones wxPython y POO
wx.Frame
, y en esta ir agregando todos los controles gráficos que necesitemos para que la aplicación sea funcional. Como este mini-curso es de carácter básico/introductorio utilizaremos casi siempre la plantilla que a continuación se muestra:import wx
class MiFrame(wx.Frame):
def __init__(self,*args,**kwargs):
wx.Frame.__init__(self,*args,**kwargs)
# Agregamos controles
# Conectamos eventos
self.Show() # Mostramos el Frame
def OnEvent(self,event):
# Método que "maneja" un evento
if __name__=='__main__':
app = wx.App()
fr = MiFrame(None, wx.ID_ANY, "wxPython App", size=(300,200))
app.MainLoop()
MiFrame
heredada de wx.Frame
, agregamos el método __init__
que para efectos de este mini-curso será nuestro constructor de la clase, y aquí en __init__
es necesario llamar también al método __init__
de la superclase, pasándole como argumentos aquellos que hemos recibido desde el constructor de nuestra clase MiFrame
. Note que, debido a la sintaxis de Python, el parámetro self
será siempre el primer argumento del método __init__
de la clase y superclase. Dentro del método __init__
habrán de agregarse todos los controles (que veremos en la siguiente entrega) y hacer las conexiones de eventos requeridas. El método Show sirve, claro está, para mostrar el Frame en la pantalla.Para llamar al método
__init__
de la superclase, también puede utilizar la otra notación que implica el uso desuper
, algo como:super(MiFrame, self).__init__(*args,**kwargs)
OnEvent
ejemplifica la estructura de un método que se encarga de manejar la respuesta a un evento, lo cual estaremos viendo en entradas posteriores.MiFrame
, con los mismos argumentos que utilizaríamos para uno de wx.Frame
. Y bueno, lo de la clase wx.App
ya nos lo sabemos, puesto que lo hemos visto en la entrada anterior.import wx
class MiFrame(wx.Frame):
def __init__(self,*args,**kwargs):
wx.Frame.__init__(self,*args,**kwargs)
# Agregando botones
self.button = wx.Button(self, -1, u"Botón A", size=(100,20), pos=(10,10))
self.button = wx.Button(self, -1, u"Botón B", size=(100,20), pos=(10,50))
# Conectando el evento de un botón
self.Bind(wx.EVT_BUTTON, self.OnClick)
# Mostrando la interfaz
self.Show()
def OnClick(self,event):
print(u"Botón presionado: %s"%(event.EventObject.GetLabel()))
if __name__=='__main__':
app = wx.App()
fr = MiFrame(None, -1, "wxPython App", size=(300,200))
app.MainLoop()
pos
, haciendo referencia también otros detalles como el posicionamiento automático mediante Sizers (un tema que veremos un poco después de habernos familiarizado más con wxPython).
-
-
Hola Python-Ruby, no entiendo exactamente a qué te refieres, este es mi primer curso escrito aquí en Python Diario y de ninguna manera está abandonado ni mucho menos. Cierto es que muchas veces se tarda quizá demasiado entre la publicación de las entradas, pero es una cuestión inherente a aquellos que intentamos escribir por "amor a la camiseta", espero que puedas entender esa parte. Por lo demás, sabes que cualquier tipo de comentario u opinión es siempre bienvenida. Saludos.
-
Excelente Pedro, por el comentario y por la entrada. Los tiempos no son los mismos para todos, todos tenemos tareas a parte de la de querer compartir lo que sabemos y aprendemos. Saludos
-
-
Se les valora el esfuerzo y sobre todo el interés, para que muchos aprendamos. Saludes desde C.R. amigos
-
Gracias Randall por visitar y participar en el blog. Saludos 😉
-
Deja una respuesta
Y cuando le piensa seguir ese compa por todos empiezan pero luego no lo terminan