[Python-es] Problemas con tkinter

Javier Perez javierperez en perasalvino.es
Jue Nov 19 05:18:38 EST 2020


Vale, creo que ya lo tengo:
Creo la variable result como global.

Muchísimas gracias Miguel, te debo una caña :-)



def foo(root, texto):
    #print('con este texto "{}" hago lo que quiero'.format(texto))
    root.quit()
    root.destroy()

root = tk.Tk()
root.geometry("600x400")

def getTextInput():
   global result
   result = textExample.get("1.0", tk.END+"-1c")
   foo(root, result)

textExample = tk.Text(root, height=10)
textExample.pack()
btnRead = tk.Button(root, height=2, width=50, text="Introducir en la bbdd", command=getTextInput)
btnRead.pack()
root.mainloop()

print('mi programa sigue por aquí')
print(result)



Saludos,

--
Javier Pérez
http://es.linkedin.com/in/javierperez1
http://www.perasalvino.es/




> El 19 nov 2020, a las 9:09, Javier Perez <javierperez en perasalvino.es> escribió:
> 
> Muchas gracias Miguel,
> 
> Si y no.
> 
> O sea esta perfecta pero sigo con el mismo problema:
> 
> Después de:
>> print('mi programa sigue por aquí')
> 
> quiero usar el texto del cuadro de dialogo para modificarlo.
> 
> 
> un print(texto) no funciona.
> 
> 
> Saludos,
> 
> --
> Javier Pérez
> http://es.linkedin.com/in/javierperez1 <http://es.linkedin.com/in/javierperez1>
> http://www.perasalvino.es/ <http://www.perasalvino.es/>
> 
> 
> 
> 
>> El 18 nov 2020, a las 19:12, Miguel Sanchez <msanchez en uninet.edu <mailto:msanchez en uninet.edu>> escribió:
>> 
>> 
>> 
>> 
>> Es esto lo que pretendes hacer?
>> 
>> 
>> import tkinter as tk
>> 
>> def foo(root, texto):
>>    print('con este texto "{}" hago lo que quiero'.format(texto))
>>    root.quit()
>>    root.destroy()
>> 
>> root = tk.Tk()
>> root.geometry("600x400")
>> 
>> def getTextInput():
>>    result = textExample.get("1.0", "end")
>>    foo(root, result)
>> 
>> textExample = tk.Text(root, height=10)
>> textExample.pack()
>> btnRead = tk.Button(root, height=2, width=50, text="Introducir en la bbdd", command=getTextInput)
>> btnRead.pack()
>> root.mainloop()
>> 
>> print('mi programa sigue por aquí')
>> 
>> 
>> 
>> Saludos
>> 
>> 
>> 
>>> 
>>> 
>>> 
>>> 
>>> Saludos,
>>> 
>>> --
>>> Javier Pérez
>>> http://es.linkedin.com/in/javierperez1 <http://es.linkedin.com/in/javierperez1>
>>> http://www.perasalvino.es/
>>> 
>>> 
>>> 
>>> 
>>>> El 17 nov 2020, a las 18:19, Miguel Sanchez <msanchez en uninet.edu> escribió:
>>>> 
>>>> Hola:
>>>> 
>>>> 
>>>> No veo claro lo que pretendes
>>>> 
>>>> noticia = getTextInput()
>>>> print(noticia)
>>>> 
>>>> Están fuera del bucle por lo que se ejecutarán cuando ya no exista textExample con lo que debería dar error
>>>> y por otro lado quién esperas que reciba el return de getTextInput()??
>>>> 
>>>> 
>>>> Saludos
>>>> 
>>>> 
>>>> El Tue, 17 Nov 2020 12:27:16 +0100
>>>> Javier Perez <javierperez en perasalvino.es> dijo:
>>>> 
>>>>> Hola a todos,
>>>>> 
>>>>> 
>>>>> Estoy empezando a usar tkinter. Tengo dos problemas:
>>>>> 1) no se como sacar la información del formulario. El caso es que tengo una funcion que si lo recoge pero no lo retorna. No llego a entender lo que pasa. 
>>>>> 
>>>>> 2) Después, al cerrar la venta, me muestra este error la consola: 
>>>>> result = textExample.get("1.0", "end")
>>>>> File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 3706, in get
>>>>> return self.tk.call(self._w, 'get', index1, index2)
>>>>> _tkinter.TclError: invalid command name ".!text"
>>>>> 
>>>>> 
>>>>> 
>>>>> El código es este:
>>>>> import tkinter as tk
>>>>> 
>>>>> root = tk.Tk()
>>>>> root.geometry("600x400")
>>>>> 
>>>>>>>>>> def getTextInput():
>>>>> 	result = textExample.get("1.0", "end")
>>>>> 	#print(result) # —> si le queto el comentario si me lo imprime
>>>>> 	 return result
>>>>> 	
>>>>> textExample = tk.Text(root, height=10)
>>>>> textExample.pack()
>>>>> btnRead = tk.Button(root, height=2, width=50, text="Introducir en la bbdd", command=getTextInput)
>>>>> 
>>>>> btnRead.pack()
>>>>>>>>>> root.mainloop()
>>>>> 
>>>>> noticia = getTextInput()
>>>>> print(noticia)
>>>>> 
>>>>> 
>>>>> Muchísimas gracias a todos,
>>>>> 
>>>>> Saludos,
>>>>> 
>>>>> --
>>>>> Javier Pérez
>>>>> http://es.linkedin.com/in/javierperez1
>>>>> http://www.perasalvino.es/
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Python-es mailing list
>>>>> Python-es en python.org
>>>>> https://mail.python.org/mailman/listinfo/python-es  
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> https://mail.python.org/mailman/listinfo/python-es  
>>> 
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org <mailto:Python-es en python.org>
>> https://mail.python.org/mailman/listinfo/python-es <https://mail.python.org/mailman/listinfo/python-es>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org <mailto:Python-es en python.org>
> https://mail.python.org/mailman/listinfo/python-es <https://mail.python.org/mailman/listinfo/python-es>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://mail.python.org/pipermail/python-es/attachments/20201119/d597e113/attachment.html>


Más información sobre la lista de distribución Python-es