2009-08-16 44 views
6

Quiero crear una ventana emergente Qt que se comportará como un cuadro de mensaje en Qt. Eso significa que el resto de la GUI debe estar bloqueada hasta que se cierre esa ventana emergente. Esta puede ser una pregunta infantil, pero ¿alguien puede ayudarme con esto?¿Cómo crear una ventana de Qt se comporta como un cuadro de mensaje?

Gracias ... :)

Editar:

quiero usar formas, etiquetas, botones y algunos otros tipos de controles en esa ventana emergente.

Respuesta

17

Modal Dialogs

un cuadro de diálogo modal es un cuadro de diálogo que bloquea de entrada a otras ventanas visibles en el misma aplicación. Los usuarios deben finalizar interactuando con el cuadro de diálogo y cerrarlo antes de que puedan acceder a cualquier otra ventana en la aplicación. Diálogos que se utilizan para solicitar un nombre de archivo por parte del usuario o que se utilizan para establecer preferencias de la aplicación son generalmente modal.

La forma más común para mostrar un cuadro de diálogo modal es llamar a su función exec(). Cuando el usuario cierra el cuadro de diálogo, exec() proporcionará un valor útil de retorno . Por lo general, para obtener el diálogo para estrecha y devolver el valor apropiado , conectamos un botón predeterminado, por ejemplo, "OK", en la ranura accept() y en el "Cancelar" en la ranura de rechazo(). Como alternativa, puede llamar a la ranura done() con Aceptado o Rechazado.

Una alternativa es llamar a setModal (true) o setWindowModality(), y luego show(). A diferencia de exec(), show() devuelve el control a la persona que llama inmediatamente. Llamando setModal (verdadero) es especialmente útil para el progreso diálogos, donde el usuario debe tener la capacidad para interactuar con el cuadro de diálogo, por ejemplo para cancelar una operación de larga ejecución . Si utiliza show() y setModal (verdadero) en conjunto para realizar una operación de larga , debe llamar QApplication :: processEvents() periódicamente durante el procesamiento para que el usuario pueda interactuar con el cuadro de diálogo . (Ver QProgressDialog.)

+0

Gracias por la guía ... Lo intentaré ... – Morpheus

+0

sí ... eso es lo que quiero. Muchas gracias.. – Morpheus

Cuestiones relacionadas