Qt显示QImage图像在label上,并保持自适应大小问题
作者:在广州的阿杰
这篇文章主要介绍了Qt显示QImage图像在label上,并保持自适应大小问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。