Qt显示QImage图像在label上,并保持自适应大小
Qt使用label显示图像的方式:
//将QImage的大小收缩或拉伸,与label的大小保持一致。这样label中能显示完整的图片
QImage imageScale = image.scaled(QSize(ui->label_Pixmap->width(),
ui->label_Pixmap->height()));
QPixmap pixmap = QPixmap::fromImage(imageScale);
ui->label_Pixmap->setPixmap(pixmap);
Qt使用Label控件显示图片及动图
1.显示图片
资源加载流程
- 右键点击widget.cpp,选择在Explorer中显示
- 将装有图片的image文件夹放入打开的路径中
- 右键项目名称->添加新文件->Qt->Qt Resource File->取名为res
- 添加前缀 / ->添加文件->选择image文件夹下的所有图片
- 编译(构建项目)一下,图片就显示在项目中了
- 需要再次打开.qrc文件时:右键.qrc->Open in Editor
在ui界面加入Lable控件
编译代码
//写在widget.cpp中
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//将Lable控件的名字取为lbl_image
//Qt中的图片资源不叫picture,叫pixmap
ui->lbl_image->setPixmap(QPixmap(":/image/1.jpg"));
}
Widget::~Widget()
{
delete ui;
}
2.显示动图
动图必须为gif格式
- 资源加载流程(同上)
- 在ui界面加入Lable控件
- 编译代码
//写在widget.cpp中
#include "widget.h"
#include "ui_widget.h"
#include <QMovie>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//将Lable控件的名字取为lbl_image
QMovie * mmovie = new QMovie(":/image/2.gif");
ui->lbl_movie->setMovie(mmovie);
//动图得播放才有效果
mmovie->start();
}
Widget::~Widget()
{
delete ui;
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。