Hola tod@s:<div><br></div><div>Estoy un poco liado con el método bind + tkinter, lo que estoy buscando es establecer un bind para ejecutar una función</div><div>que contiene una serie de sentencias entre ellas el método <b>root.destroy().</b></div>
<div><b><br></b></div><div>se que si hago lo siguiente funciona</div><div><b><br></b></div><div><b>def funcion():</b></div><div><b> foo</b></div><div><b><br></b></div><div><b>root.bind('<Return>, funcion)</b></div>
<div><b><br></b></div><div>pero en mi caso al estar dentro de una clase no funciona de ese modo</div><div><br></div><div>He leído la documentación pero no me aclaro como resolver el asunto.</div><div>Les dejo el código simplificado para que vean, este es una de las tantas formas que he probado</div>
<div> y la que me pareció mas coherente ya que llama self.setp y es como entiendo que se llaman</div><div> a las funciones dentro de __init__ </div><div><br></div><div>Tal vez este muy equivocado y por eso la consulta.</div>
<div><br></div><div><br></div><div><br></div><div><br></div><div><u>el código</u></div><div><br></div><div><div><b>from Tkinter import *</b></div><div><b><br></b></div><div><b>class Ch():</b></div><div><b> '''doc srring</b></div>
<div><b> '''</b></div><div><b> def __init__(self):</b></div><div><b><br></b></div><div><b> self.root=Tk()</b></div><div><b> self.root.title('set')</b></div><div><b> self.label=Label(self.root, text='Attention! First set this')</b></div>
<div><b> self.label.config(height=10, width=20)</b></div><div><b> self.label.config(bg='red')</b></div><div><b> labelfont=('times',15,'bold')</b></div><div><b> self.label.config(font=labelfont)</b></div>
<div><b> self.label.pack()</b></div><div><b> self.root.bind('<Return>', self.setp )</b></div><div><b> self.root.mainloop()</b></div><div><b><br></b></div><div><b> def setp(self):</b></div>
<div><b> return self.root.destroy()</b></div><div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span></div><div><b>c=Ch()</b></div></div><div><b><br></b></div><div><b><u><br>
</u></b></div><div><u>el error</u></div><div><u><br></u></div><div><div><b>Exception in Tkinter callback</b></div><div><b>Traceback (most recent call last):</b></div><div><b> File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1410, in __call__</b></div>
<div><b> return self.func(*args)</b></div><div><b>TypeError: setp() takes exactly 1 argument (2 given)</b></div></div><div><b><br></b></div><div><b><br></b></div><div>gracias por leerme una vez mas </div>