main.cpp 2.3 KB

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