Título: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 13 Agosto 2022, 15:33 pm Hola gente, ¿cómo están?.
Créanme que como siempre antes de pedir ayuda busco práctico y como en este caso cuando tengo que tirar la toalla recurro a Uds. La consulta concreta es ¿hay alguna manera de capturar el evento antes que se efectivice?, o ¿tiene esto otra solución?.- En apariencia funciona, lo que ocurre es que cuando se ejecuta la excepción el IDE se queda como en un bucle infinito y no se deja cerrar. Bueno, es todo, desde ya gracias, muchas gracias por el tiempo. Código: #------------------------------------------------------------------------------- Slds. Daniel ☕☕☕ Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: Danielㅤ en 13 Agosto 2022, 17:28 pm Hola, abajo de esta linea:
Código
Inserta esta instrucción y prueba de nuevo: Código
Si no funciona prueba esta otra instrucción: Código
Nos comentas. Saludos Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 13 Agosto 2022, 17:53 pm Hola tocayo, exactamente igual...
Código
https://ibb.co/gVFMn7r Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: Danielㅤ en 13 Agosto 2022, 18:15 pm A ver prueba a cambiar el except por:
Código
Saludos Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 13 Agosto 2022, 20:39 pm Ahora me ocurre lo mismo que antes de utilizar
el try-except.- Citar Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\Daniel Virgili\AppData\Local\Programs\Thonny\lib\tkinter\__init__.py", line 1705, in __call__ return self.func(*args) File "C:\Users\Daniel Virgili\Desktop\Practica\Copiar-pegar\Principal.py", line 18, in rehacer text.edit_undo() File "C:\Users\Daniel Virgili\AppData\Local\Programs\Thonny\lib\tkinter\__init__.py", line 3242, in edit_undo return self.edit("undo") File "C:\Users\Daniel Virgili\AppData\Local\Programs\Thonny\lib\tkinter\__init__.py", line 3198, in edit return self.tk.call(self._w, 'edit', *args) _tkinter.TclError: nothing to undo Slds. Daniel ☕☕☕ Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: reymosquito en 14 Agosto 2022, 01:23 am el tema es que con undo=True ya estás asociando a ctrl z y ctrl y con el Text y por lo tanto la función rehacer la línea root.bind('<Control-z>', partial(rehacer, text, temp)) están demás, sino ¿cuál es el sentido de undo=True?
Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 14 Agosto 2022, 02:30 am No entiendo si me estás ayudando o criticando, es una obviedad lo que planteas,
lo que trato de hacer con esa función(aparentemente innecesaria) es buscar alguna alternativa para que no me quede el widget vacío.- Aprovecho para preguntar, ¿nadie sabe como acceder a la pila del widget text?, si la tuviera tal vez al validar que estuviera vacía podría configurar undo=False.- Slds. Daniel ☕☕☕ Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: reymosquito en 14 Agosto 2022, 04:14 am Citar No entiendo si me estás ayudando o criticando eso lo podés tomar como quieras, lo que te parece una obviedad, no lo es tanto si estás intentando cambiar la forma de interactuar de tkinter. y mucho menos es una obviedad lo que estás intentando hacer.Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: Danielㅤ en 14 Agosto 2022, 14:43 pm Tiene razón el rey mosquito, nosotros tratamos de ayudarte, lo que vos queres no es común, porque lo común es cuando se quiere usar un evento que dispare al ejecutar tal instrucción o un control de una ventana gráfica, pero vos queres hacer un pre evento y la verdad no se mucho porque lo queres hacer así ni como exactamente, de todas maneras hay otras formas.
Saludos Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 14 Agosto 2022, 15:12 pm Lo que proponen Uds. es algo como esto, ¿no es así?, bien,
lo que me falta es saber como agregar un condicional para que funcione correctamente y no me quede el widget vacío.- Código
ej: agrego 123 456 789 Si pulso <Control-z> 1 vez queda: 123 456 Si pulso <Control-z> otra vez queda: 123 Pulso <Control-z> otra vez deja el TEXT vacío, esto es lo que deseo evitar... Slds. Daniel ☕☕☕ Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: reymosquito en 14 Agosto 2022, 18:22 pm no, de mi parte no propongo algo como eso, porque como ya dije ya definiste el uso de undo, hay muchas soluciones una puede ser:
#-*- coding: utf -8 -*- Código
donde evidentemente no vuelvo a vincular undo con nada. Título: Re: Capturar un evento antes que ocurra, tkinter.- Publicado por: El mas antiguo en 14 Agosto 2022, 21:26 pm ¿Qué puedo agregar?, gracias y que funciona perfectamente ;-) ;-) ;-).-
Si agrego que no entiendo el porqué funciona con un solo edit_reset() pero bueno algún día encontraré la explicación.- Slds. Daniel ☕☕☕ |