天天看點

Qt的啟動畫面

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

class MainWindow : public QMainWindow

{

    Q_OBJECT

public:

    MainWindow(QWidget *parent = 0);

    void createToolBars();

    void createStatusBar();

};

#endif // MAINWINDOW_H

#include "mainwindow.h"

#include <QtGui>

#include <QtTest>

#include <unistd.h>

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

{

    setWindowTitle(tr("Splash Example"));

    QTextEdit *edit = new QTextEdit;

    edit->setText("Splash Example !");

    setCentralWidget(edit);

    createToolBars();

    createStatusBar();

    resize(600, 450);

    QTest::qWait(3000);

}

void MainWindow::createToolBars()

{

    QToolBar *fileTool = addToolBar("File");

    QToolBar *editTool = addToolBar("Edit");

    QToolButton *fileNewBtn = new QToolButton;

    fileNewBtn->setIcon(QIcon(":/images/new.png"));

    QToolButton *fileOpenBtn = new QToolButton;

    fileOpenBtn->setIcon(QIcon(":/images/open.png"));

    QToolButton *fileSaveBtn = new QToolButton;

    fileSaveBtn->setIcon(QIcon(":/images/save.png"));

    fileTool->addWidget(fileNewBtn);

    fileTool->addWidget(fileOpenBtn);

    fileTool->addWidget(fileSaveBtn);

    QToolButton *copyBtn = new QToolButton;

    copyBtn->setIcon(QIcon(":/images/copy.png"));

    QToolButton *cutBtn = new QToolButton;

    cutBtn->setIcon(QIcon(":/images/cut.png"));

    QToolButton *pasteBtn = new QToolButton;

    pasteBtn->setIcon(QIcon(":/images/paste.png"));

    editTool->addWidget(copyBtn);

    editTool->addWidget(cutBtn);

    editTool->addWidget(pasteBtn);

}

void

MainWindow::createStatusBar()

{

    statusBar()->showMessage(tr("Ready"));

}

#include <QApplication>

#include <QSplashScreen>

#include <QPixmap>

#include "mainwindow.h"

int

main(int argc, char *argv[])

{

    QApplication app(argc, argv);

    QPixmap pixmap(":/splash.jpg");

    QSplashScreen splash(pixmap);

    splash.show();

    MainWindow window;

    window.show();

    splash.finish(&window);

    return app.exec();

}

Qt的啟動畫面
Qt的啟動畫面

其中最重要的首先是讓主程式等3秒鐘(QTest::qWait(3000);),然後再關閉畫面視窗(splash.finish(&window);)。