唐伯虎 发表于 2021-7-8 15:05:24

Qt 实现启动界面,3秒后自动消失

  很多大型软件都有启动界面,把程序的部分初始化后,再显示主界面。
  Qt如何实现该功能呢,例如我们在main.cpp实例化启动类,然后显示,sleep(3000), 再close窗口,这种思路目测可以,但是编写代码后发现启动界面后,控件无法显示,图片无法刷新等。那么如何实现呢?
  这里我提供一种方法,用定时器来实现该需求。
  添加一个QDialog, 作为启动界面,头文件如下:
#pragma once

#include <QDialog>
#include "ui_WelcomeUI.h"
#include <QTimer>

/*

软件的欢迎界面
3秒后自动消失,显示主界面

*/
class WelcomeUI : public QDialog
{
Q_OBJECT

public:
WelcomeUI(QWidget *parent = Q_NULLPTR);
~WelcomeUI();

//自定义方法,启动定时器
void StartTimer();

private:
Ui::WelcomeUI ui;

QTimer *m_pTimer;
};
  cpp文件
#include "WelcomeUI.h"

WelcomeUI::WelcomeUI(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHi
  
文档来源:51CTO技术博客https://blog.51cto.com/u_12570763/3012494
页: [1]
查看完整版本: Qt 实现启动界面,3秒后自动消失