Qt显示QImage图像在label上,并保持自适应大小问题
短信预约 -IT技能 免费直播动态提醒
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;
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341