1 显示gif图片(label上显示)
在QT中要显示GIF图片,不能通过单单的添加部件来完成.
还需要手动的编写程序.
工具:QT Creator
新建一个工程,我们先在designer中,添加一个QLabel部件.
如下图:
将QLabel拉成适当大小.
在类cpp函数中添加如下程序:
#include "widget.h"
#include "ui_widget.h"
#include <qmovie.h>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QMovie *movie =new QMovie("D:/QT/project/qtcreaor/test/untitled/1.gif");
ui->my_label->setMovie(movie);
movie->start();
}
2 label上显示图片
QPixmap pixmap("D:/QT/2.jpg");
ui->my_label->setPixmap(pixmap);
ui->my_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 直接画出图片
首先要重写基类的虚函数:
virtual void paintEvent(QPaintEvent * event);
然后在重写的虚函数中实现下面的功能
第一种:在QOpenGLWidget中画出图片
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(ui->openGLWidget);
QPixmap pix;
pix.load("D:/QT/2.jpg");
painter.begin(ui->openGLWidget);
painter.drawPixmap(0,0,pix.width(), pix.height(),pix);
painter.end();
}
第二种:直接在界面中画出图片
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap pix;
pix.load("D:/QT/2.jpg");
painter.begin(this);
painter.drawPixmap(0,0,pix.width(), pix.height(),pix);
painter.end();
}