viernes, 20 de febrero de 2009

Mostrar/ Abrir una imagen en Qt/C++

Al tratar de mostrar una imagen en Qt, el primer problema que nos encontramos es que no sabemos cual objeto usar para mostrar la imagen, y esto es porque no hay uno especifico para este fin en Qt.

Lo que podemos hacer es mostrar la imagen en el canvas de un QLabel y agregar unas pocas líneas de código.

Entonces, el primer paso es agregar al formulario un QLabel (en diseño), y vamos a ponerle de nombre image1 (nunca olvidar que es de tipo QLabel *)

En el código,agregar las siguientes líneas:

[sourcecode language='cpp']QString imagefilename = QFileDialog::getOpenFileName( this,"Image to
open",  path,"Images (*.bmp *.png *.xpm *.jpg)");
QImage   QImagen;
QImagen.load ( imagefilename);
Image1->setPixmap(QPixmap::fromImage(QImagen)); [/sourcecode]

y listo!

La primera línea declara un Qstring que usaremos para almacenar el nombre del fichero de la imagen que vamos a mostrar. En este caso cargamos esa string a partir de un cuadro de dialogo en el que sólo podemos seleccionar archivos de extensión *.bmp *.png *.xpm  y *.jpg.

En la siguiente línea declaramos un objeto QImagen de tipo QImage, que nos sirve para abrir t almacenar la imagen, lo cual se hace con la línea posterior.

Por último, se carga la imagen al canvas del QLabel.

1 comentario: