其他分享
首页 > 其他分享> > Qt 实现启动界面,3秒后自动消失

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

标签:界面,Qt,启动,QDialog,WelcomeUI,自动,include
来源: https://blog.51cto.com/u_12570763/2855796