我是靠谱客的博主 拼搏山水,最近开发中收集的这篇文章主要介绍qt启动画面实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在程序启动时常由于加载数据或加载库文件会一段时间才弹出主窗口,期间心急或不明所以的用户会以为 app有问题,“咋半天没反应呢”。

这是我们就可以通过一个启动画面告知用户一些信息,请他们耐心等候。

QT已提供了QSplashScreen来处理启动画面,

1)QSplashScreen ( const QPixmap & pixmap = QPixmap(), Qt::WindowFlags f = 0 );//默认desktop为父窗体
2)QSplashScreen ( QWidget * parent, const QPixmap & pixmap = QPixmap(), Qt::WindowFlags f = 0 );//可指定父窗体

当然,一个app可以设置多个启动画面,例如在列表中用户操作加载大量数据时,用一个启动画面提示用户要比鼠标等候状态:

QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
QApplication::restoreOverrideCursor();

显示来得更有意思。

void    finish ( QWidget * mainWin );可以设置主窗口显示出来,并且 启动画面隐藏,当然程序员也可以按自己的喜欢自行调用close 直接关闭

示例代码:

//main.cpp

#include <QApplication>
#include <QSplashScreen>
#include <QDesktopWidget>
#include <QFont>
#include <QObject>
#include <QTimer>
#include <QMainWindow>

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

    QSplashScreen splash(QPixmap(":/images/splash.jpg"));
    QFont _font("Courier New", 20);
    _font.setBold(true);
    splash.setFont(_font);
    splash.move ((QApplication::desktop()->width() - splash.width())/2
    ,(QApplication::desktop()->height() - splash.height())/2);
    splash.show();
    splash.showMessage(
        "SplashScreen testn"
        "version 1.2.14n"
        "xxx All rights reservedn"
        "load data from db,please wait!n"
        ,Qt::AlignHCenter);
    //
    app.processEvents();

    QMainWindow w;
    //设置延迟,防止一闪而过
    QTimer timer;
    QObject::connect(&timer,SIGNAL(timeout()),
        &w, SLOT(show()));
    QObject::connect(&timer,SIGNAL(timeout()),
        &splash, SLOT(close()));
    timer.start(1000);

    return app.exec();
}

//main.cpp

//.pro

TEMPLATE = app
DESTDIR = bin
CONFIG += qt debug_and_release static

CONFIG(debug, debug|release) {
    TARGET          = SplashScreend
    OBJECTS_DIR     = debug/obj
    MOC_DIR         = debug/moc
} else {
    TARGET          = SplashScreen
    OBJECTS_DIR     = release/obj
    MOC_DIR         = release/moc
}

SOURCES += main.cpp

RESOURCES += ./SplashScreen.qrc

//.pro

//.qrc

<RCC version="1.0">
    <qresource prefix="/images">
        <file alias="splash.jpg">images/splash.jpg</file>
    </qresource>
</RCC>

//.qrc

最后

以上就是拼搏山水为你收集整理的qt启动画面实现的全部内容,希望文章能够帮你解决qt启动画面实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部