39 votos

Qt jpg de la imagen de la pantalla

Quiero mostrar .imagen jpg en un usuario Qt. Lo he comprobado en línea y encontrar http://qt-project.org/doc/qt-4.8/widgets-imageviewer.html. Pensé Vistas de Gráficos va a hacer lo mismo, y también cuenta con el códec para la visualización de vídeo. Cómo mostrar imágenes mediante el uso de Gráficos de la Vista? Fui a través de las bibliotecas, pero debido a que soy totalmente novato en Qt, no puedo encontrar una pista para empezar. Puede que me dirija a algunos recursos/ejemplos sobre cómo cargar y mostrar imágenes en Qt?

Gracias.

28voto

Wojciech Bederski Puntos 2544
#include ...

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&scene);
    QGraphicsPixmapItem item(QPixmap("c:\\test.png"));
    scene.addItem(&item);
    view.show();
    return a.exec();
}

Esto debería funcionar. :) Lista de formatos soportados se pueden encontrar aquí

22voto

Ben L Puntos 1208

Usted puede adjuntar la imagen (como un mapa de píxeles) a una etiqueta, a continuación, añadir a su disposición...

...

QPixmap image = new QPixmap("blah.jpg");

QLabel imageLabel = new QLabel();
imageLabel.setPixmap(image);

mainLayout.addWidget(imageLabel);

...

Disculpas, es el uso de Jambi (Qt para Java), por lo que la sintaxis es diferente, pero la teoría es la misma.

10voto

user251390 Puntos 71

Si la única cosa que quiero hacer es soltar una imagen en un widget sin la complejidad de la API de gráficos, también puede crear una nueva QWidget y establecer el fondo con hojas de estilo. Algo como esto:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(padre de familia)
{
...
 QWidget *pic = new QWidget(este);
 pic->setStyleSheet("background-image: url(de prueba.png)");
pic->setGeometry(QRect(50,50,128,128));
...
}

3voto

Vanuan Puntos 4751

Quiero mostrar .imagen jpg en una interfaz de usuario Qt

La simplicidad es la utilización de QLabel para esto:

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    QLabel label("<img src='image.jpg' />");
    label.show();
    return a.exec();
}

1voto

Oogle berries Puntos 11

Entiendo tu frustración "de Gráficos widget" no es la mejor manera de hacer esto, sí se puede hacer, pero es casi exactamente el mismo como el uso de una etiqueta ( para lo que usted desea alguna manera) ahora todas las maneras enumeradas hacer el trabajo, pero...

Para usted y cualquier otra persona que puede venir a través de esta pregunta se forma más sencilla de hacerlo ( lo que le estás pidiendo alguna manera ) es este.

QPixmap pix("Path\\path\\entername.jpeg");
    ui->label->setPixmap(pix);

}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X