El 17 de agosto de 2014, 19:45, kausdiv <kaus...@gmail.com> escribió:
> Hola. > > Estoy haciendo varias aplicaciones/utilidades de consola que necesito. > La cuestión es que no conozco ninguna forma de "editar" una variable, con > raw_input se introduce nueva.. en fin he recurrido a Tkinter. > > Pero me parece una tremenda chapuza lo que he hecho: > ------------------codigo chapuza------------------ > from Tkinter import * > > global T > global sArgumentos > > root = Tk() > T = Text(root, height=4, width=60) > T.pack() > sArgumentos = "" > > def click(): > """Debe lanzarse en el click de Aceptar""" > global T > global sArgumentos > sArgumentos = T.get('1.0', 'end').strip() > root.destroy() > > def editar(argumentos): > """Edita los argumentos y el resultado > lo guarda en la varibale global sArgumentos """ > global T > T.insert(END, argumentos) > b = Button(root, text="Aceptar", command=click) > b.pack(fill=BOTH, expand=1) > b = Button(root, text="Cancelar", command=root.destroy) > b.pack(fill=BOTH, expand=1) > mainloop() > -------------------------------------------------------------------- > > En la aplicación se invoca a "editar('valor a editar')" y en la variable > global sArgumentos se almacena la edición. Que además es la variable que > contiene el origen. > > Me gustaría saber si alguien ha resuelto este problema de editar el > contenido de variables mejor que esto. > Para empezar: los objetos "string" son "inmutables". No puedes "editarlos". Como mucho podrás crear nuevas cadenas a partir de otras. Si lo que quieres es un interface en Tkinter, lo recomendable es usar las StringVars. Lee la documentación porque tienen tienen muchas características interesantes. Aquí sólo te pongo un código para que te oriente: import Tkinter as tk master = tk.Tk() v = tk.StringVar() v.set("A variable text") e = tk.Entry(master, textvariable=v) e.pack() b = tk.Button(master, text="get", width=10, command=master.quit) b.pack() tk.mainloop() edited_text = v.get() print(edited_text) > > Gracias. > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/