-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
51 lines (44 loc) · 1.63 KB
/
main.cpp
File metadata and controls
51 lines (44 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <QApplication>
#include <qfile.h>
#include <QTranslator>
#include "CameraTool.h"
#include "Src/ui/mainwindow.h"
#include "Logger.h"
#include "TouchTuioManager.h"
#include <opencv2/core/ocl.hpp>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
Logger::init(7); // 日志只保留7天
// 默认使用系统语言环境的翻译文件
QTranslator translator;
QString internalPath = ":/i18n/iTouch_zh_CN.qm";
if (translator.load(internalPath)) {
qApp->installTranslator(&translator);
} else {
qDebug() << "加载失败,请检查路径。";
}
// 🚀 尝试全局开启 OpenCL 硬件加速!
cv::ocl::setUseOpenCL(true);
if (cv::ocl::haveOpenCL()) {
qInfo() << "🔥 GPU 硬件加速引擎已启动! 显卡型号:"
<< QString::fromStdString(cv::ocl::Device::getDefault().name());
} else {
qWarning() << "⚠️ 未检测到可用的 OpenCL 显卡,回退至纯 CPU 模式。";
}
// 设置全局的应用程序信息
QApplication::setApplicationName("iTouch");
QApplication::setOrganizationName("ioobox Studio");
// 【核心代码】:读取 CMake 注入的宏,设置为全局版本号
QApplication::setApplicationVersion(APP_VERSION);
QFile file(":/Art/style.qss");
if (file.open(QFile::ReadOnly | QFile::Text)) {
QTextStream ts(&file);
a.setStyleSheet(ts.readAll());
} else {
qDebug() << "无法加载 QSS 资源文件!";
}
MainWindow main_window;
main_window.setFixedSize(QSize(1000, 800));
main_window.showMinimized();
return QApplication::exec();
}