Qt设置软件启动动画(开屏动画、欢迎界面)

启动动画的相关接口为QSplashScreen。

版本1:显示图片+延时

代码很简单,只需要在main.cpp中添加几行代码即可实现:

#include "pclvisualizer.h"

#include <QApplication>
#include <QDateTime> //添加QDateTime头文件
#include <QPixmap>
#include <QSplashScreen>
int
main(int argc, char* argv[])
{
  QApplication a(argc, argv);

  QPixmap pixmap("Qt.png");     //读取图片
  QSplashScreen splash(pixmap); //
  splash.setWindowOpacity(0.8); // 设置窗口透明度
  splash.show();
  splash.showMessage("程序正在加载......", Qt::AlignCenter, Qt::red); //显示文字
  QDateTime time = QDateTime::currentDateTime();
  QDateTime currentTime = QDateTime::currentDateTime(); //记录当前时间
  while (time.secsTo(currentTime) <= 5) // 5为需要延时的秒数
  {
    currentTime = QDateTime::currentDateTime();
    a.processEvents();
  };

  PCLVisualizer w;
  w.show();

  splash.finish(&w); //在主体对象初始化完成后结束启动动画

  return a.exec();
}

效果如下图:

 版本2:显示gif动态图片+延时

#include <QApplication>
#include <QMovie>
#include <QPixmap>
#include <QSplashScreen>

int
main(int argc, char* argv[])
{
  QApplication a(argc, argv);

  QSplashScreen splash(pixmap); //
  splash.setWindowOpacity(0.8); // 设置窗口透明度
  QLabel label(&splash);
  QMovie mv("G.gif");
  label.setMovie(&mv);
  mv.start();
  //显示此启动图片
  splash.show();
  splash.setCursor(Qt::BlankCursor);
  for (int i = 0; i < 3000; i += mv.speed()) {
    a.processEvents(); //使程序在显示启动画面的同时仍能响应鼠标等其他事件
    Sleep(mv.speed()); // 延时
  }

  PCLVisualizer w;
  w.show();

  splash.finish(&w); //在主体对象初始化完成后结束启动动画

  return a.exec();
}

参考文章:

Qt实现程序启动动画_晓星-CSDN博客_qt启动动画演示一个应用程序启动时,添加启动动画的小例子。所谓启动动画,就是说当一个应用程序启动时,在展示主窗口之前,有可能会先去初始化一些运行环境,验证用户信息等前提工作。那么在这段空闲期程序的启动过程是没有用户界面的,而用户也无法得知程序的状态,所以就需要在这段空白时间中,向用户提供一个展示程序运行状态的窗口,来为用户提供积极的正反馈。启动动画在很多软件中得到了应用,例如游戏加载画面,VS的启动画面等...https://blog.csdn.net/a849473785/article/details/95939641

QT 程序启动动画_Sakuya__的博客-CSDN博客_qt启动动画简述我们日常用的很多软件都有启动动画,比如Visual Studio和PyCharm在打开软件之前都会有一个加载各种组件的过程。它们的启动动画就是告诉你程序正在打开的过程中,正在加载组件,而不是让你以为程序没有启动。那么,QT中可不可以实现这样的效果呢,当然是可以的。QT提供了QSplashScreen这个类来实现启动动画的效果。效果代码之路最基本的...https://blog.csdn.net/sakuya__/article/details/88973724

  • 11
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要实现一个视频监控系统,需要以下步骤: 1. 获得视频流:需要使用摄像头或者IP摄像头来获取视频流。 2. 解码视频流:将视频流进行解码,获得视频的原始数据。 3. 显示视频:使用Qt的多媒体模块来实现视频的显示,可以使用QWidget或QML来实现。 4. 视频处理:可以对视频进行一些处理,比如视频的压缩、加密等。 5. 视频存储:将视频存储到本地或者云端,可以使用Qt的网络模块来实现。 下面是一个简单的Qt视频监控程序的示例代码: ```cpp #include <QApplication> #include <QCamera> #include <QCameraViewfinder> #include <QVBoxLayout> #include <QMediaRecorder> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建一个摄像头对象 QCamera *camera = new QCamera(); // 创建一个视频显示控件 QCameraViewfinder *viewfinder = new QCameraViewfinder(); // 创建一个视频录制对象 QMediaRecorder *mediaRecorder = new QMediaRecorder(camera); // 设置视频录制的输出格式 mediaRecorder->setOutputFormat(QMediaRecorder::AviFormat); // 设置视频录制的输出文件名 QString fileName = "output.avi"; mediaRecorder->setOutputLocation(QUrl::fromLocalFile(fileName)); // 创建一个垂直布局器,并把视频显示控件添加进去 QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(viewfinder); // 创建一个窗口,并设置布局器 QWidget *window = new QWidget(); window->setLayout(layout); // 设置摄像头的视图 camera->setViewfinder(viewfinder); // 开始录制视频 mediaRecorder->record(); // 显示窗口 window->show(); // 运行主循环 return a.exec(); } ``` 这个程序使用了Qt的多媒体模块来实现视频的显示和录制。在程序运行时,会打开摄像头,并将视频显示在窗口中。同时,程序还会将视频录制到本地文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SOC罗三炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值