Pregunta

Estoy escribiendo un programa que a veces encuentra un error. Cuando lo hace, aparece un cuadro de diálogo Tkinter preguntar al usuario si desea continuar. Es una versión más complicada de lo siguiente:

keep_going = False
KeepGoingPrompt(keep_going)
if not keep_going:
    return

Los conjuntos de avisos keep_going a True u hojas que False. El problema es que el código parece continuar mientras KeepGoingPrompt está abierto. Probé almacenar una referencia a la prompt y la adición de un bucle como

while prompt:
    time.sleep(1)

pitón pero se queda atascado en el bucle y se congela. ¿Hay una mejor manera de hacerlo?

Gracias

¿Fue útil?

Solución

Se puede utilizar la clase tkMessageBox para que aparezca un cuadro de diálogo pregunta que es modal y no regresará hasta que el usuario hace clic en un botón. Ver el libro Tkinter para más detalles.

Otros consejos

1) ¿Está ejecutando el código dentro de IDLE? Puede ser que sea responsable de hacer el diálogo sin bloqueo, mientras que en realidad debería estar bloqueando.

2) Si se ejecuta fuera ralentí no ayuda, buscar opciones tkinter / diálogo que especifican si el comportamiento es el bloqueo o sin bloqueo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top