Qt [GC9-5]:给我的程序添加启动画面(触发编译警告)

简介: Qt [GC9-5]:给我的程序添加启动画面(触发编译警告)

image.png

基于Qt的汽车仪表模拟

在我们[GC9-2]中,pro有一个指令,如下

DEFINES += QT_DEPRECATED_WARNINGS #定义编译选项

这个的意义在于下图image.png

下面就进入今天的正题,给我们的程序加一个启动画面,这个启动画面的本意是在程序启动时候,可能要加载多个文件,这些文件将比较耗时,这时用户就可能会误以为程序没有启动,所以,加一个启动的动画可以告诉用户,程序启动了,正在加载一些模块。效果图如下,这里使用的吉利的商标,侵删image.png

这里我们需要用到一个新的东西,叫做QSplashScreen类,关于这类的详细信息可以去这里去看看,https://doc.qt.io/qt-5/qsplashscreen.html


我这里用到的比较简单,使用代码如下


因为我的程序比较简答,所以用到的Qtest,因此需要在pro文件中包含 testlib,目前整个pro文件如下

QT += core gui testlib              #表示要引入的Qt模块
greaterThan(QT_MAJOR_VERSION,4):QT += widgets       #为Qt4兼容设计,大意为版本高于Qt4就需要包含widgets模块
TARGET = GC9.1.0.0      #程序名称
TEMPLATE = app          #程序类型
DEFINES += QT_DEPRECATED_WARNINGS   #定义编译选线
RC_ICONS = ./Resources/Images/Core/LOGO.ico     #程序图标文件
SOURCES += \            #源文件
    Core/main.cpp \
    ControlPanel/controlpanel.cpp \
    HUD/hud.cpp
FORMS += \              #界面文件
    ControlPanel/controlpanel.ui \
    HUD/hud.ui
HEADERS += \            #头文件
    ControlPanel/controlpanel.h \
    HUD/hud.h
RESOURCES += \           #资源文件
    resources.qrc

如果大家用while循环实现,可以不用包含testlib模块

下面那就是在main.cpp中实现了。代码如下

#include"ControlPanel/controlpanel.h"
#include <QApplication>
#include <QSplashScreen>
#include <QPixmap>
#include <QTest>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QPixmap lodingPix(":/Core/Resources/Images/Core/login.png");        //建立pix图像对象
    QSplashScreen splash(lodingPix);                                    //建立QSplashScreen对象
    splash.show();                                                      //显示QSplashScreen
    a.processEvents();                                                  //大致意思就是把耗时的加载拿出放在一起线程里运行
    QTest::qSleep(3000);                                                //增加程序显示时间
    ControlPanel w;                                                     //建立控制台主界面
    w.show();                                                           //启动控制台
    splash.finish(&w);                                                  //QSplashScreen结束
    return a.exec();
}

以上就完成了程序启动动画的添加

image.png

目录
相关文章
|
2月前
|
C++
VS2019编译VTK-9.1.0+Qt5.15.2
本文介绍了在VS2019和Qt 5.15.2环境下编译VTK 9.1.0的过程,包括成功编译无警告和错误的截图、修改的pro文件内容,以及在QML中加入VTK的失败尝试和参考链接。
|
4月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
457 3
|
2月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
2月前
|
C++
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
本文介绍了如何编译整合VTK 9.2、DICOM 0.8、DCMTK 3.6.7和Qt 6.2的步骤,包括安装Qt、CMake配置以及确认相关路径和版本设置。
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
|
2月前
|
Unix 网络虚拟化 C++
VS2022+Qt5.14.2成功编译MITK2022.10
使用VS2022和Qt5.14.2成功编译MITK2022.10的过程,包括编译结果的截图、遇到的编译问题的解决方法、两个重要的注意事项(patch文件格式的修改和ITK-gitclone-lastrun文件的存在),以及参考链接。文中详细描述了如何解决编译过程中遇到的错误C2220和警告C4819,以及如何修改文件编码和尾行格式。
130 1
VS2022+Qt5.14.2成功编译MITK2022.10
|
2月前
编译QCefView+VS2019+QT5.15.2
本文介绍了如何编译QCefView项目,并在VS2019和Qt 5.15.2环境下集成,包括编译结果、要点、cmake部署Qt的方法和相关参考链接。
121 1
编译QCefView+VS2019+QT5.15.2
|
2月前
|
人工智能
三战VS2019编译VTK7.1+Qt5.15.2
本文记录了作者在VS2019环境下编译VTK 7.1与Qt 5.15.2的历程,包括正确配置方法、遇到的编译错误以及解决过程。
|
2月前
|
人工智能 C++
初步编译QT5.15.2+VS2019+VTK8.2.0
本文介绍了在VS2019中编译QT 5.15.2和VTK 8.2.0的过程,包括编译结果、cmake库编译配置和cmake应用配置脚本,以及推荐的参考链接。
124 4
|
2月前
|
计算机视觉
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
这篇文章记录了使用VS2019编译Qt6.2.4、DCMTK3.6.7、VTK9.2.2、ITK5.3和OpenCV4.6.0的过程,包括下载和编译步骤,并提供了遇到编译错误时的解决方案和参考链接。
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

推荐镜像

更多