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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM