您当前的位置: 首页 >  动画

wendy_ya

暂无认证

  • 2浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Qt实战案例(5)(序)——程序启动画面gif动图的实现

wendy_ya 发布时间:2021-12-27 18:41:52 ,浏览量:2

在上一篇文章:Qt实战案例(5)——程序启动画面的实现(QSplashScreen)中遇到了一个问题:明明加载的是gif动画,为什么显示的时候只显示的静态图片???

本文将介绍如何在程序启动画面设置gif动图。

目录
    • 一、项目介绍
    • 二、项目基本配置
    • 三、UI界面设计
    • 四、主程序实现
      • 4.1 mainwindow.h头文件
      • 4.2 mainwindow.cpp源文件
      • 4.3 main.cpp源文件
    • 五、效果演示

一、项目介绍

利用QSplashScreen类实现在程序启动过程中显示gif动图的功能。

二、项目基本配置

新建一个Qt案例,项目名称为“SplashScreen”,基类选择“QMainWindow”,取消创建UI界面复选框的选中状态,完成项目创建。

三、UI界面设计

无UI界面

四、主程序实现 4.1 mainwindow.h头文件

无需操作

4.2 mainwindow.cpp源文件

设置主界面实现,主要内容为:设置窗口标题,设置显示文字等。 核心代码如下:

#include
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle("Splash Example");//设置窗口标题
    QTextEdit *edit=new QTextEdit;//新建可编辑文本
    edit->setText("Splash Example!");//显示内容
    setCentralWidget(edit);//将edit设置为中心部件
    resize(600,450);//调整窗体大小
}

显示内容如下: 在这里插入图片描述

4.3 main.cpp源文件

在编写main.cpp之前,首先需要添加资源文件,资源文件添加十分简单,这里不进行详细介绍,我的代码中将图片r.gif添加到Qt资源文件res中,如下所示。 在这里插入图片描述 然后编写main.cpp代码。首先需要创建一个QPixmap对象存放gif动画,其尺寸是gif的尺寸,然后利用QPixmap对象创建一个QSplashScreen对象,接着创建一个Label放置该动图,利用QMovie创建gif对象,核心代码如下:

    QApplication a(argc, argv);
    QPixmap pixmap(250,160);//gif动画的尺寸大小
    QSplashScreen splash(pixmap);//利用QPixmap对象创建一个QSplashScreen对象
    QLabel label(&splash);

    //设置label大小和位置
    QMovie mv(":/res/r.gif");
    label.setMovie(&mv);
    mv.start();
    //显示此启动图片
    splash.show();
    splash.setCursor(Qt::BlankCursor);
    for (int i = 0; i             
关注
打赏
1659256378
查看更多评论
0.0378s