#include #include #include #include "spdlog/spdlog.h" #include "logs/loginit.h" #include "EyeMapWidget.h" #include "EyeMapInfo.h" #include "OscDataInfo.h" #include "softdog.h" void addFont(const QString& appPath); int main(int argc, char* argv[]) { QApplication app(argc, argv); /* 初始化日志库 */ init_log(); auto logger = spdlog::get("main"); if(logger == nullptr) { SPDLOG_ERROR("main logger is nullptr"); return -1; } SPDLOG_LOGGER_INFO(logger, "★ ★ ★ ★ ★ Oscilloscope ★ ★ ★ ★ ★"); /* 加载字体 */ auto appPath = QApplication::applicationDirPath(); addFont(appPath); /* 验证加密狗 */ #ifdef C_RELEASE // QString errMsg; // if(!(SoftDog::DogCheck(errMsg, 30, QLatin1String("eqmyt")))) // { // SPDLOG_LOGGER_ERROR(logger, "加密狗错误信息:{}", errMsg.toStdString()); // QMessageBox::critical(nullptr, "错误", errMsg); // // MessageBox::execTip(errMsg, MessageBox::ERROR, true); // return 0; // } #endif /* 初始化数据 */ GEyeMapInfo.initEyeMapInfo(); /* 初始化示波器的数据内存区域 */ GOscDataInfo.initOscData(); EyeMapWidget w; w.show(); w.startCapture(); // std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); // double a = 330.2, b = 2.2; // for (long long i = 0; i < 1000000000; ++i) // { // b = a * b; // } // std::chrono::steady_clock::time_point end1 = std::chrono::steady_clock::now(); // long long c = 3200, d = 22; // for (long long i = 0; i < 1000000000; ++i) { // d = c * d; // } // std::chrono::steady_clock::time_point end2 = std::chrono::steady_clock::now(); // SPDLOG_LOGGER_INFO(logger, "double time: {}", std::chrono::duration_cast(end1 - begin).count()); // SPDLOG_LOGGER_INFO(logger, "long long time: {}", std::chrono::duration_cast(end2 - end1).count()); return app.exec(); } /* 加载字体 */ void addFont(const QString& appPath) { QString fontPath = appPath + "/Rec/SiYuanBlack_ttf"; /* 加载字体 */ QFontDatabase::addApplicationFont(appPath + "/SiYuanBlack_Bold.ttf"); QFontDatabase::addApplicationFont(appPath + "/SiYuanBlack_M.ttf"); QFontDatabase::addApplicationFont(appPath + "/SiYuanBlack_R.ttf"); /*************************************************** * 字体使用方式 * id1 ("思源黑体-粗") * id2 ("思源黑体M") * id3 ("思源黑体R") ****************************************************/ // SPDLOG_LOGGER_DEBUG(m_logger,"id1 = {}",QFontDatabase::applicationFontFamilies(id1)); // qDebug() << "id1" << QFontDatabase::applicationFontFamilies(id1); // qDebug() << "id2" << QFontDatabase::applicationFontFamilies(id2); // qDebug() << "id3" << QFontDatabase::applicationFontFamilies(id3); QFont font_main; font_main.setFamily("思源黑体R"); font_main.setPixelSize(14); QApplication::setFont(font_main); }