开发者

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

目录
  • Qt显示QImage图像在label上,并保持自适应大小
  • Qt使用Label控件显示图片及动图
    • 1.显示图片
    • 2.显示动图

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

Qt使用label显示图像的方式:

        //将QImage的大小收缩或拉伸,与label的大小保持一致。这样label中能显示完整的图片
        QImage imageScal编程客栈e = 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
  • 添加js前缀 / ->添加文件->选择image文件夹下的所有图片
  • 编译(构建项目)一下,图片就显示在项目中了
  • 需要再次打开.qrc文件时:右键.qrandroidc->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格javascript

  • 资源加载流程(同上)
  • 在ui界面加入Lable控件
  • 编译代码
//写在widget.cpp中
#include "widget.h"
#include "ui_widget.h"
#include <QMovie>

Wid开发者_JAVAget::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;
}

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜