zoukankan      html  css  js  c++  java
  • Qt启动画面

    一、

    1.自动检查是否正常,如果不正常退出。

    二、

    #include "mainwindow.h"
    #include <QApplication>
    #include <QFile>
    #include <QSplashScreen>
    #include <chrono>
    #include <thread>
    #include "widget/mainwidget.h"
    #include "utility/globalvar.h"
    
    #include "utility/configure.h"
    #include "utility/mysqlhelper.h"
    
    #include <QDebug>
    
    bool startLoading();
    QSplashScreen *splash;
    Configure *cfg;
    int main(int argc, char *argv[])
    {
    
        QApplication a(argc, argv);
    
        cfg=Configure::getInstance();
        cfg->init();
    
        QFile qss_file(":/style/default.qss");
        if(!qss_file.open(QFile::ReadOnly))
        {
            qDebug()<<"qss file open error";
        }
        qApp->setStyleSheet(qss_file.readAll());
        qss_file.close();
    
    //    MainWindow w;
    //    w.show();
       // LoginDialog loginDlg;
        //if(loginDlg.exec()==QDialog::Accepted)
    //    {
    
            bool ret=startLoading();
    
            MainWidget mw;
            if(ret)
            {
                mw.showMaximized();
                //mw.show();
                splash->finish(&mw);
                return a.exec();
            }
            else
            {
                delete splash;
                splash=nullptr;
                return 0;
            }
    
    //    }
    
    }
    
    bool startLoading()
    {
        QPixmap pixmap(":/image/start");
        QPixmap scaledPixmap = pixmap.scaled(QSize(500,400), Qt::KeepAspectRatio);
        splash=new QSplashScreen(scaledPixmap);
        splash->setFont(QFont("microsoft yahei", 20, QFont::Thin));
        splash->show();
        MySQLHelper *mySqlHelper=MySQLHelper::getInstance();
        bool ret=mySqlHelper->connectDB(cfg->getKeyValue(Configure::MYSQL_SERVER),
                                        cfg->getKeyValue(Configure::MYSQL_DATABASE),
                                        cfg->getKeyValue(Configure::MYSQL_USER_NAME),
                                        cfg->getKeyValue(Configure::MYSQL_PASSWORD)
                                        );
    
        if(ret)
        {
            splash->showMessage("mysql database connect ok",
                       Qt::AlignRight|Qt::AlignCenter, Qt::green);
        }
        else
        {
            splash->showMessage("mysql database connect error",
                       Qt::AlignRight|Qt::AlignCenter, Qt::red);
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(2000));
    
    
        return ret;
    }
  • 相关阅读:
    TSQL编程的全局变量
    一、读大学,究竟读什么?
    受用一生的心理寓言
    字符串函数
    android wait notify实现线程挂起与恢复
    Java Thread.interrupt 中断JAVA线程
    android实现文件下载功能的3种方法
    Android startActivityForResult 和 setResult的使用
    Android 软键盘盖住输入框的问题
    Android蓝牙操作
  • 原文地址:https://www.cnblogs.com/ike_li/p/14266973.html
Copyright © 2011-2022 走看看