main.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "widget.h"
  2. #include "globaldef.h"
  3. #include <QApplication>
  4. #include <QTextCodec>
  5. #include <QSettings>
  6. #include <QMessageBox>
  7. #include <QSharedMemory>
  8. #include "general/generalfunc.h"
  9. #include "datavar.h"
  10. #include <QQueue>
  11. int main(int argc, char *argv[])
  12. {
  13. QApplication a(argc, argv);
  14. //程序只允许运行一次
  15. QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
  16. QSharedMemory memory(ST_SOFTWARE_NAME);
  17. if (!memory.create(1))
  18. {
  19. QMessageBox::critical(nullptr, CN("错误"), CN("程序已启动!"));
  20. return 0;
  21. }
  22. QApplication::setAttribute(Qt::AA_Use96Dpi);
  23. //Opengl渲染方式
  24. QApplication::setAttribute(Qt::AA_UseDesktopOpenGL);
  25. QApplication::setAttribute(Qt::AA_UseOpenGLES);
  26. QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
  27. //设置中文字体
  28. a.setFont(QFont("Microsoft Yahei", 9));
  29. // //设置中文编码
  30. //#if (QT_VERSION <= QT_VERSION_CHECK(5, 0, 0))
  31. //#if _MSC_VER
  32. // QTextCodec* codec = QTextCodec::codecForName("gbk");
  33. //#else
  34. // QTextCodec* codec = QTextCodec::codecForName("utf-8");
  35. //#endif
  36. // QTextCodec::setCodecForLocale(codec);
  37. // QTextCodec::setCodecForCStrings(codec);
  38. // QTextCodec::setCodecForTr(codec);
  39. //#else
  40. // QTextCodec* codec = QTextCodec::codecForName("utf-8");
  41. // QTextCodec::setCodecForLocale(codec);
  42. //#endif
  43. QDateTime dateTime = QDateTime::currentDateTime();//获取系统当前的时间
  44. QString logName = dateTime.toString("yyyy-MM-dd-hh-mm-ss");//格式化时间
  45. QSettings config("config/config.ini", QSettings::IniFormat);
  46. int logLevel = config.value("config/LOGLEVEL").toInt();
  47. DataVar::g_saveImageDebug = config.value("config/SAVEIMAGE").toInt();
  48. #pragma region 初始化log
  49. static QString folder_name("log"); //要创建的文件夹名称
  50. QString logDir =/*DataVar::g_exePath +*/"./log/";
  51. GeneralFunc::isDirExist(logDir, true);
  52. initLog("1", (logDir.toStdString() + logName.toStdString() + ".log").c_str(), logLevel);
  53. #pragma endregion
  54. Widget w;
  55. //w.setStyleSheet(ST_MAIN_QSS);
  56. //w.showMaximized();
  57. return a.exec();
  58. }