You are on page 1of 4

Programación Qt: QMessageBox:

La QMessageBox proporciona un cuadro de diálogo modal para informar al usuario o para hacerle
una pregunta al usuario y recibir una respuesta.

Un cuadro de mensaje muestra un texto primario para alertar al usuario a una situación, un texto
informativo para explicar con más detalle la descripción o para preguntar al usuario una pregunta, y
un texto detallado opcionales para proporcionar aún más datos si el usuario lo solicita. Un cuadro de
mensaje también puede mostrar un icono y botones estándar para la aceptación de una respuesta del
usuario.
Para utilizar la propiedad basada en la API, la construcción de una instancia de QMessageBox,
establezca las propiedades deseadas, y después la instrucción exec (), para mostrar el mensaje. La
configuración más sencilla consiste en establecer sólo la propiedad texto del mensaje.
Ejemplo 1:

QMessageBox msgBox;
msgBox.setText("Esto es un mensaje");
msgBox.exec();

Nota: Para usar el QMessagebox:


#include "QMessageBox"

Ejemplo 2:

QMessageBox msgBox;
msgBox.setText("Texto 1.");
msgBox.setInformativeText("texto 2");
//botones
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard |
QMessageBox::Cancel);
//seteando el boton por defecto seleccionado
msgBox.setDefaultButton(QMessageBox::Save);
//mostramos el mensaje y guardamos el valor de retorno
//en una variable llamada ret
int ret = msgBox.exec();

Leopoldo Vásquez Blas Trujillo – Perú 2010-07-07


Ejemplo 3:

QMessageBox msgBox;
msgBox.setText("Texto 1.");
msgBox.setInformativeText("texto 2");
msgBox.setDetailedText("Texto en deatlle");
//botones
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard |
QMessageBox::Cancel);
//seteando el boton por defecto seleccionado
msgBox.setDefaultButton(QMessageBox::Save);
//mostramos el mensaje y guardamos el valor de retorno
//en una variable llamada ret
int ret = msgBox.exec();

De texto enriquecido y la Propiedad formato de texto

La propiedad texto detallado siempre se interpreta como texto sin formato. El texto y las propiedades
principales informativos de texto pueden ser texto sin formato o texto enriquecido. Estas cadenas se
interpretan de acuerdo con el valor de la propiedad formato de texto. La configuración por defecto es
auto-texto.

Tenga en cuenta que para algunas cadenas de texto sin formato que contienen metadatos en XML
caracteres, el texto de pruebas de auto detección de texto enriquecido puede fallar, lo que produce una
cadena de texto sin formato.. En estos casos raros, el uso de Qt:: convertFromPlainText () para
convertir la cadena de texto sin formato a una cadena de texto visualmente equivalente a texto
enriquecido, o establecer la propiedad formato de texto explícitamente con setTextFormat ().

Ejemplo 4:

QMessageBox msgBox;
msgBox.setText("Texto 1.");
msgBox.setInformativeText("texto 2");

Leopoldo Vásquez Blas Trujillo – Perú 2010-07-07


msgBox.setDetailedText("Texto en deatlle");
msgBox.setIcon(QMessageBox::Information);
//botones
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard |
QMessageBox::Cancel);
//seteando el boton por defecto seleccionado
msgBox.setDefaultButton(QMessageBox::Save);
//mostramos el mensaje y guardamos el valor de retorno
//en una variable llamada ret
int ret = msgBox.exec();

En la cual con solo poner la siguiente línea de código:


msgBox.setIcon(QMessageBox::Information);
Con esto le estamos asignando un icono al mensaje.

Ahora si queremos poner un titulo a nuestro messagebox distinto al que aparece por defecto,
solamente agregamos esta linea de codigo antes del msgBox.exec()

msgBox.setWindowTitle("Hola Peru");

Constante Valor Descripción


QMessageBox::NoIcon 0 Sin icono
QMessageBox::Question 4 Icono de pregunta o interrogación
QMessageBox::Informatio 2 un icono que indica que el mensaje no es nada fuera de
n
lo común
QMessageBox::Warning 2 un icono que indica que el mensaje es una advertencia,
pero puede tratarse
QMessageBox::Critical 3 un icono que indica que el mensaje representa un
problema crítico

Leopoldo Vásquez Blas Trujillo – Perú 2010-07-07


Lista de botones estandar
QMessageBox::Ok
QMessageBox::Open
QMessageBox::Save
QMessageBox::Cancel
QMessageBox::Close
QMessageBox::Discard
QMessageBox::Apply
QMessageBox::Reset
QMessageBox::RestoreDefaults
QMessageBox::Help
QMessageBox::SaveAll
QMessageBox::Yes
QMessageBox::YesToAll
QMessageBox::No
QMessageBox::NoToAll
QMessageBox::Abort
QMessageBox::Retry
QMessageBox::Ignore
QMessageBox::NoButton

Leopoldo Vásquez Blas Trujillo – Perú 2010-07-07

You might also like