main.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "view/MainWindow.h"
  2. #include "helper/GenerateMiniDump.h"
  3. #include <QApplication>
  4. #include <QTranslator>
  5. #include <QScreen>
  6. #include <QDesktopWidget>
  7. #include <QTextCodec>
  8. #include <locale>
  9. #include <QSettings>
  10. #include "FileUtil.h"
  11. #include "importDataUtil.h"
  12. #include "dbService/ClassSet.h"
  13. int main(int argc, char *argv[])
  14. {
  15. DUMP_FILE_HOOK_HANLE;
  16. QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
  17. std::locale::global(std::locale(""));
  18. #ifndef QT_NO_OPENGL
  19. QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
  20. #endif
  21. QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
  22. QCoreApplication::setAttribute(Qt::AA_DisableShaderDiskCache, true);
  23. // Set application attributes
  24. #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
  25. QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
  26. QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
  27. #endif
  28. QCoreApplication::setAttribute(Qt::AA_CompressHighFrequencyEvents, true);
  29. QApplication a(argc, argv);
  30. a.setApplicationVersion("2.0");
  31. a.setApplicationName("QFD2");
  32. a.setApplicationDisplayName("伪装防护评估系统软件");
  33. Q_INIT_RESOURCE(qfluentwidgets);
  34. QTranslator *translator = new QTranslator();
  35. translator->load(QLocale::system(), ":/resource/i18n/qfluentwidgets_zh.qm");
  36. QCoreApplication::installTranslator(translator);
  37. MainWindow w;
  38. // 居中显示窗体
  39. w.move((QApplication::primaryScreen()->availableGeometry().width() - w.width()) / 2,
  40. (QApplication::primaryScreen()->availableGeometry().height() - w.height()) / 2);
  41. QSettings config("config.ini", QSettings::IniFormat);
  42. config.setIniCodec("UTF-8");
  43. int roleType = config.value("USERCONFIG/RoleType", "").toInt();
  44. if (roleType == 0) {
  45. w.show();
  46. } else {
  47. qDebug() << "---------------------";
  48. // TODO 导入文件入库操作
  49. bool result = FileUtil().importEngineerFile();
  50. if (result) {
  51. ImportDataUtil().importSystemData();
  52. w.show();
  53. } else {
  54. qDebug() << "----";
  55. qApp->exit();
  56. }
  57. }
  58. // w.show();
  59. return a.exec();
  60. }