main.cpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include "widget.h"
  2. #include <QApplication>
  3. #include <QFontDatabase>
  4. #include <qapplication.h>
  5. #include <qchar.h>
  6. #include <QDebug>
  7. #include <QTimer>
  8. #include "spdlog/spdlog.h"
  9. void addFont();
  10. int main(int argc, char *argv[])
  11. {
  12. QApplication a(argc, argv);
  13. /* 从文件加载字体 */
  14. addFont();
  15. SPDLOG_INFO("********** ACASetting **********");
  16. Widget w;
  17. w.show();
  18. // std::chrono::steady_clock::time_point startTime = std::chrono::steady_clock::now();
  19. // QTimer timer;
  20. // timer.setInterval(16);
  21. // timer.setSingleShot(false);
  22. // timer.setTimerType(Qt::PreciseTimer);
  23. // QObject::connect(&timer, &QTimer::timeout, [&]()
  24. // {
  25. // std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();
  26. // std::chrono::milliseconds duration = std::chrono::duration_cast<std::chrono::milliseconds>(now - startTime);
  27. // SPDLOG_INFO("Timer triggered, elapsed time: {} ms", duration.count());
  28. // startTime = now; // 重置开始时间
  29. // });
  30. // timer.start();
  31. return a.exec();
  32. }
  33. /* 加载字体 */
  34. void addFont()
  35. {
  36. QString fontPath = QApplication::applicationDirPath() + "/font/SiYuanBlack_ttf";
  37. /* 加载字体 */
  38. int id1 = QFontDatabase::addApplicationFont(fontPath + "/SiYuanBlack_Bold.ttf");
  39. int id2 = QFontDatabase::addApplicationFont(fontPath + "/SiYuanBlack_M.ttf");
  40. int id3 = QFontDatabase::addApplicationFont(fontPath + "/SiYuanBlack_R.ttf");
  41. /***************************************************
  42. * 字体使用方式
  43. * id1 ("思源黑体-粗")
  44. * id2 ("思源黑体M")
  45. * id3 ("思源黑体R")
  46. ****************************************************/
  47. SPDLOG_INFO("{}", fontPath.toStdString());
  48. qDebug() << "id1" << id1 << ", " << QFontDatabase::applicationFontFamilies(id1);
  49. qDebug() << "id2" << id2 << ", " << QFontDatabase::applicationFontFamilies(id2);
  50. qDebug() << "id3" << id3 << ", " << QFontDatabase::applicationFontFamilies(id3);
  51. QFont font_main;
  52. font_main.setFamily(QFontDatabase::applicationFontFamilies(id3).at(0));
  53. font_main.setPixelSize(14);
  54. QApplication::setFont(font_main);
  55. }