Python - Llamar al inicio de la clase padre

   
Vista:

Llamar al inicio de la clase padre

Publicado por Cristhian crmartinar@yahoo.com.ar (17 intervenciones) el 22/03/2014 20:55:59
Buenas tardes, antes que nada quiero agradecer por la ayuda que recibi anteriormente en este foro, seguido de esto quiero ponerlos en contexto para mi siguiente duda, ya que la mejor forma de aprender me parecio comenzar un pequeño proyecto y me encontre con el siguiente inconveniente.

Tengo hecha la grafica con wxFormBuilder el que por ahora me genero dos clases padres form principla y form clientes, desde principal llamo a clientes el cual tiene un evento en un boton, lo que quiero hacer es que cuando declaro una clase cli derivada de la clase frmclientes llamar al __init__ de la misma para poder cargar los combos que tengo en la misma, pero hasta el momento no pude realizarlo, asi como veran el codigo me llama al frame pero los eventos no funcionan, pego el codigo para ver si me pueden ayudar en que me estoy equivocando, desde ya muchas gracias

Saludos Cordiales

PD: lo que van a ver a continuación puede que para alguien idoneo en el lenguaje sea absurdo pero ya que recien estoy comenzando en python y toda mi vida programe en Visual Basic, creo que en un par de dias es un logro bastante grande.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python
#- * - coding: utf-8 - * -
import wx
from py_gestion import frmprincipal, frmclientes
 
class frmprincipal(frmprincipal):
 
    	def abmclientesOnMenuSelection( self, event ):
            cli = frmclientes(self)
            cli.Show()
        def cmdclientesOnToolClicked( self, event ):
            event.Skip()
 
class frmclientes(frmclientes):
        def __init__(self):
             super(frmclientes, self).__init__()
 
        def cmdcancelarOnButtonClick( self, event ):
            self.Destroy()
app = wx.PySimpleApp()
f = frmprincipal(None)
f.Show()
app.MainLoop()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Llamar al inicio de la clase padre

Publicado por xve (1229 intervenciones) el 23/03/2014 20:13:59
Hola Cristhian, no entiendo muy bien a que te refieres, y no podemos probar tu código ya que importas unos objetos que no tenemos...

De todas maneras, veo tu código un poco raro...

Creas una clases, y importas otras clases con el mismo nombre??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llamar al inicio de la clase padre

Publicado por Cristhian (17 intervenciones) el 24/03/2014 01:21:45
Como comentaba al inicio no se si estoy haciendo bien las cosas, yo importo la interfaz que tengo dise;ada wxFormBuilder y como vi en el ejemplo que segui le puse el mismo nombre, y lo que quiero hacer es llamar a esa interfaz pero a su vez quiero que el combo que esta en esa interfaz se complete con una consulta que haga a una base de datos. Espero me puedan orientar, gracias de antemano.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Llamar al inicio de la clase padre

Publicado por xve (1229 intervenciones) el 24/03/2014 08:17:00
Hola Cristhian, nos puedes mostrar el contenido del archivo py_gestion para poder probarlo y ver si entiendo bien lo que quieres hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llamar al inicio de la clase padre

Publicado por Cristhian (17 intervenciones) el 24/03/2014 14:08:07
Adjunto todo el proyecto comprimido incluso archivo de proyecto de wxFormBuilder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Llamar al inicio de la clase padre

Publicado por xve (1229 intervenciones) el 24/03/2014 17:36:46
Hola Cristhian, muchas gracias por adjuntar-nos el código, pero ahora no entiendo muy bien cual es tu problema, ya que al cargar una clase, se carga automáticamente el contenido del __init__()...

De todas maneras, cuando en la carga de una clase, quieres que se ejecute el contenido del __init__, puedes hacer algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
class frmclientes():
    def __init__(self):
        print "frmClientes"
 
class frmprincipal(frmclientes):
    def __init__(self):
        print "frmprincipal"
        frmclientes.__init__(self)
 
app = frmprincipal()

No se si esto te sirve... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llamar al inicio de la clase padre

Publicado por Cristhian (17 intervenciones) el 24/03/2014 17:47:08
Si me sirve saber como hacer la llamada, pero lo que necesitaria despues de hacer la llamada es que se ejecute una rutina que cargue un combo, a esa rutina deberia ponerla a continuacion?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar