QT QSplashScreen程序启动画面

  • a.processEvents():使程序在显示启动画面的同时仍能响应鼠标等其他事件。
  • splash.finish(&w):表示在主窗体对象初始化完成后,结束启动画面。

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class MainWindow : public QMainWindow
{
    
    
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include <QTextEdit>
#include "mainwindow.h"
#include <synchapi.h>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    
    
    setWindowTitle("Splash Example");

    QTextEdit *edit = new QTextEdit;
    edit->setText("Splash Example");
    setCentralWidget(edit);

    resize(600, 450);
    Sleep(1000);

}

MainWindow::~MainWindow()
{
    
    
}


main.cpp

#include "mainwindow.h"

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

int main(int argc, char *argv[])
{
    
    
    QApplication a(argc, argv);
    QPixmap pixmap("Qt.png");
    QSplashScreen splash(pixmap);
    splash.show();
    a.processEvents();

    MainWindow w;
    w.show();
    splash.finish(&w);
    return a.exec();
}

猜你喜欢

转载自blog.csdn.net/u013420428/article/details/109723977