[Python-es] Problemas con tkinter
Miguel Sanchez
msanchez en uninet.edu
Mie Nov 18 13:12:30 EST 2020
El Wed, 18 Nov 2020 09:27:32 +0100
Javier Perez <javierperez en perasalvino.es> dijo:
> Gracias Miguel,
>
>
> Estoy empezando con las dos cosas, o sea que a lo mejor me estoy liando.
>
>
> Lo que necesito es muy simple:
> Necesito meter un campo de texto en python para limpiarlo e introducirlo en una bbdd.
>
> O sea un imput seria perfecto pero no lo puedo usar porque el texto que le voy a meter lleva retornos.
>
>
> Mi idea era que al ejecutar la aplicación me muestre el cuadro de dialogo, le pego el texto y después se ejecuta el resto de la aplicación.
>
> ¿ese “resto de la aplicación” puede estar fuera del cuadro de dialogo?
>
> Por eso quería sacar fuera del cuadro de dialogo esa variable, la que tiene el texto a tratar.
>
> ¿me explico mejor?
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://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
>
Más información sobre la lista de distribución Python-es