QT 中显示图片 转发

QT显示图片的方法有很多

大致为:

label上显示

直接画出来

容器显示

 

1---------------显示gif图片(label上显示)

 

在QT中要显示GIF图片,不能通过单单的添加部件来完成.

还需要手动的编写程序.

工具:QT Creator

新建一个工程,我们先在designer中,添加一个QLabel部件.

如下图:


将QLabel拉成适当大小.

在类cpp函数中添加如下程序:

复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QMovie>

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QMovie *movie =new QMovie("D:/Project/Qt/testclass/2.gif");
ui->label->setMovie(movie);
movie->start();
}

Widget::~Widget()
{
delete ui;
}
复制代码


如下图:



这里要注意QMovie中的路径名:"D:/Project/Qt/testclass/2.gif" 这里的路径斜杠和WINDOWS下是相反的.WINDOWS下默认是反斜杠.

编译,运行就没有问题,就会看到GIF文件在播放了.

如下图:



当文档GIF图片显示:

复制代码
#include <QtGui/QApplication>
#include <QLabel>
#include <QMovie>

int main(int argc,char*argv[])
{
QApplication app(argc,argv);

QLabel *label =new QLabel();
QMovie *movie =new QMovie("D:/Project/Qt/firstQT/2.gif");
label->setMovie(movie);
movie->start();
label->show();

return app.exec();
}
复制代码

 

2-------------------------label上显示图片------------------

 

把你的label.png放到工程目录顶层,直接 QPixmap pixmap("label.png");
 ui->title_label->setPixmap(pixmap);
ui->title_label->show();

 

---

可以直接:
label->setPixmap(QPixmap("./pic.jpg"));  

或者:
QImage *image= new QImage("./pic.jpg");  
label->setPixmap(QPixmap::fromImage(image));

再或者在中途换某个图像的话:
 QImage *image= new QImage("./pic1.jpg");  
label->setPixmap(QPixmap::fromImage(image));
...........
image->load("./pic2.jpg");  

 

3----------直接画出图片-------------------------

voidlogindlg::paintEvent(QPaintEvent*)

{
QPainterpainter(this);
QPixmappix;
pix.load("D:/QT/login/login/images/delta.png");
painter.drawPixmap(0,0,100,33,pix);
//painter.drawLine(0,0,100,100);
}

 

posted @ 2017-06-15 10:01  -DZY  阅读(1509)  评论(0编辑  收藏  举报