Aja, no sabia los por menores de como envía python a self, ahora me cierra mas...
Lo otro, si, aún me falta para comprender la POO yo vengo de php + programación procedimental por lo que recién este año he tomado contacto, real, con python + poo, muchas veces me encuentro codeando de forma procedimental usando clases... si vieras que feo queda XD Pero, poco a poco voy mejorando, ahora tengo que refactorizar mucho menos que a principio de año Una vez mas te agradesco por el brain dump =) El 26 de mayo de 2012 07:01, Rock Neurotiko <[email protected]>escribió: > 1) Respecto al bind, ahora que lo has dicho y he mirado el codigo que > tenia, si, si que lo había usado... esta memoria u.U > > 2) Respecto a Python, te recomiendo leer sobre Programacion Orientada a > Objetos en Python, supongo que algo sabes, ya que estas usando una clase. > > El self the python es un modo de referirse a si mismo (la instancia), algo > parecido al "this" de java, lo único que en la mayoria de los lenguajes > este "this" es enviado y recibido automaticamente, en Python no, bueno, no > del todo, enviado si es enviado, pero recibido lo tienes que coger con una > variable, que puede ser self, o lo que quieras, pero self es el estandar ;-) > > Cosas sobre el self: Si dentro de un metodo de clase declaras una variable > como self.nombre = loquesea, esa variable será accesible en todos los > metodos de esa clase. > > Luego, otra cosa que al principio extraña: Normalmente a las funciones se > las llama como nombre(..), pues si esa funcion es un metodo de clase, no se > llama por el nombre, sino como self.nombre(..), que indica que es el metodo > de esa clase. Bueno, esto si lo estas haciendo desde dentro de la misma > clase, sino necesitarías hacelo: nombredeclas.nombredemetodo(..) > > Bueno, pues eso, que si me he equivocado en algo (recien despertado me > ando xD) corregidme :-) > > El 26 de mayo de 2012 02:15, mauricio rodriguez < > [email protected]> escribió: > > Si el error ya lo conocía, me salta a cada rato XD, el asunto es que al >> leer la documentación y ver los ejemplos del tipo >> >> *def funcion():* >> * foo* >> * >> * >> *root.bind('<Return>, funcion)* >> * >> * >> no entendía por que decía que le enviaba un argumento mas, lo único que >> se me ocurre es que interprete self como otro argumento.... >> * >> * >> Bind es para establecer un evento de teclado o mouse y asociarlo a un >> widget >> >> Se pueden usar en casi todos los widget y con una larga lista de >> pulsaciones de raton y teclas. >> >> >> http://www.pythonware.com/library/tkinter/introduction/events-and-bindings.htm >> >> >> http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm >> >> >> >> El 25 de mayo de 2012 21:03, Rock Neurotiko >> <[email protected]>escribió: >> >> Jajajaja, de nada, si en realidad los errores de python te suelen decir >>> todo, en este caso: >>> *TypeError: setp() takes exactly 1 argument (2 given)* >>> Es decir: "Tio, la funcion solo tiene un argumento, ¿para que me pasas >>> dos?" xDD >>> >>> Por cierto, para que sirve ese metodo? >>> >>> El 26 de mayo de 2012 02:00, mauricio rodriguez < >>> [email protected]> escribió: >>> >>> Genio, Genio !!!! >>>> >>>> Mira que probé cosas XD >>>> >>>> >>>> Tan simple como eso gracias solucionado !! >>>> >>>> El 25 de mayo de 2012 20:53, Rock Neurotiko >>>> <[email protected]>escribió: >>>> >>>> Mira que he usado veces Tkinter y nunca habia oido hablar de ese metodo >>>>> :-P >>>>> >>>>> Asi, a bote pronto(y como digo sin tener ni idea de ese metodo), lo >>>>> que parece es que la funcion bind envia algun dato de mas a la funcion, >>>>> has >>>>> probado a poner otro parametro y ver que ocurre? >>>>> >>>>> Estilo: >>>>> >>>>> def setp(self, test): >>>>> print test >>>>> >>>>> El 26 de mayo de 2012 01:42, mauricio rodriguez < >>>>> [email protected]> escribió: >>>>> >>>>>> Hola tod@s: >>>>>> >>>>>> Estoy un poco liado con el método bind + tkinter, lo que estoy >>>>>> buscando es establecer un bind para ejecutar una función >>>>>> que contiene una serie de sentencias entre ellas el método * >>>>>> root.destroy().* >>>>>> * >>>>>> * >>>>>> se que si hago lo siguiente funciona >>>>>> * >>>>>> * >>>>>> *def funcion():* >>>>>> * foo* >>>>>> * >>>>>> * >>>>>> *root.bind('<Return>, funcion)* >>>>>> * >>>>>> * >>>>>> pero en mi caso al estar dentro de una clase no funciona de ese modo >>>>>> >>>>>> He leído la documentación pero no me aclaro como resolver el asunto. >>>>>> Les dejo el código simplificado para que vean, este es una de las >>>>>> tantas formas que he probado >>>>>> y la que me pareció mas coherente ya que llama self.setp y es como >>>>>> entiendo que se llaman >>>>>> a las funciones dentro de __init__ >>>>>> >>>>>> Tal vez este muy equivocado y por eso la consulta. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *el código* >>>>>> >>>>>> *from Tkinter import ** >>>>>> * >>>>>> * >>>>>> *class Ch():* >>>>>> * '''doc srring* >>>>>> * '''* >>>>>> * def __init__(self):* >>>>>> * >>>>>> * >>>>>> * self.root=Tk()* >>>>>> * self.root.title('set')* >>>>>> * self.label=Label(self.root, text='Attention! First set >>>>>> this')* >>>>>> * self.label.config(height=10, width=20)* >>>>>> * self.label.config(bg='red')* >>>>>> * labelfont=('times',15,'bold')* >>>>>> * self.label.config(font=labelfont)* >>>>>> * self.label.pack()* >>>>>> * self.root.bind('<Return>', self.setp )* >>>>>> * self.root.mainloop()* >>>>>> * >>>>>> * >>>>>> * def setp(self):* >>>>>> * return self.root.destroy()* >>>>>> * >>>>>> * >>>>>> * * >>>>>> *c=Ch()* >>>>>> * >>>>>> * >>>>>> * >>>>>> * >>>>>> *el error* >>>>>> * >>>>>> * >>>>>> *Exception in Tkinter callback* >>>>>> *Traceback (most recent call last):* >>>>>> * File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1410, in >>>>>> __call__* >>>>>> * return self.func(*args)* >>>>>> *TypeError: setp() takes exactly 1 argument (2 given)* >>>>>> * >>>>>> * >>>>>> * >>>>>> * >>>>>> gracias por leerme una vez mas >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> [email protected] >>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Miguel García Lafuente - Rock Neurotiko >>>>> Vocal de la Junta Directiva Nacional del Partido Pirata. >>>>> Coordinador de Jóvenes Piratas en Madrid. >>>>> >>>>> "Libertad en lugar de miedo." - "Información libre, sociedad libre." >>>>> >>>>> El contenido de este e-mail es privado, no se permite la revelacion >>>>> del contenido de este e-mail a gente ajena a él. >>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> [email protected] >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> [email protected] >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> >>> -- >>> Miguel García Lafuente - Rock Neurotiko >>> Vocal de la Junta Directiva Nacional del Partido Pirata. >>> Coordinador de Jóvenes Piratas en Madrid. >>> >>> "Libertad en lugar de miedo." - "Información libre, sociedad libre." >>> >>> El contenido de este e-mail es privado, no se permite la revelacion del >>> contenido de este e-mail a gente ajena a él. >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> [email protected] >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> [email protected] >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Miguel García Lafuente - Rock Neurotiko > Vocal de la Junta Directiva Nacional del Partido Pirata. > Coordinador de Jóvenes Piratas en Madrid. > > "Libertad en lugar de miedo." - "Información libre, sociedad libre." > > El contenido de este e-mail es privado, no se permite la revelacion del > contenido de este e-mail a gente ajena a él. > > > _______________________________________________ > Python-es mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
