Qt显示QImage图像在label上,并保持自适应大小问题

 更新时间:2022年11月10日 17:16:38   作者:在广州的阿杰  
这篇文章主要介绍了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;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言详尽图解函数栈帧的创建和销毁实现

    C语言详尽图解函数栈帧的创建和销毁实现

    我们知道c语言中函数都是被调用的,main函数里面能调用其他函数,其实main函数也是被别的函数调用的,下面通过本文给大家分享c语言函数栈帧的创建和销毁过程,一起看看吧
    2022-05-05
  • C语言详解关键字sizeof与unsigned及signed的用法

    C语言详解关键字sizeof与unsigned及signed的用法

    这篇文章主要为大家详细介绍了C语言关键字sizeof&&unsigned&&signed,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++二维数组中数组元素存储地址的计算疑问讲解

    C++二维数组中数组元素存储地址的计算疑问讲解

    今天小编就为大家分享一篇关于C++二维数组中数组元素存储地址的计算疑问讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C++实现简单图书馆管理系统

    C++实现简单图书馆管理系统

    这篇文章主要为大家详细介绍了C++实现简单图书馆管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言实现手写Map(数组+链表+红黑树)的示例代码

    C语言实现手写Map(数组+链表+红黑树)的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现手写Map(数组+链表+红黑树),文中的示例代码讲解详细,对我们学习有一定借鉴价值,需要的可以参考一下
    2022-09-09
  • C++入门教程之内联函数与extern "C"详解

    C++入门教程之内联函数与extern "C"详解

    C++中的内联函数与静态函数静态函数静态函数的定义静态函数又称为内部函数,下面这篇文章主要给大家介绍了关于C++入门教程之内联函数与extern "C"的相关资料,需要的朋友可以参考下
    2023-01-01
  • C语言 指针与二维数组详解

    C语言 指针与二维数组详解

    本文主要介绍C语言 指针与二维数组,这里整理了详细的资料及示例代码,有需要的小伙伴可以参考下
    2016-08-08
  • C++ opencv将图片动漫化介绍

    C++ opencv将图片动漫化介绍

    大家好,本篇文章主要讲的是C++ opencv将图片动漫化介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C++中字符串以及数组和指针的互相使用讲解

    C++中字符串以及数组和指针的互相使用讲解

    这篇文章主要介绍了C++中字符串以及数组和指针的互相使用讲解,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • c++文件监控之FileSystemWatcher

    c++文件监控之FileSystemWatcher

    为了监控web程序的静态文件是否被恶意改动,所以学习了一下FileSystemWatcher 类对文件的监控,由于还在初级阶段,这里只贴一下关于FileSystemWatcher学习的一些代码
    2019-04-04

最新评论