一、
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; }