修复Android和PC端适配问题
This commit is contained in:
@@ -3,6 +3,7 @@ build/
|
||||
build-*/
|
||||
cmake-build-*/
|
||||
out/
|
||||
dist/
|
||||
|
||||
# CMake generated files
|
||||
CMakeCache.txt
|
||||
|
||||
@@ -4,6 +4,10 @@ project(rewrite_qt VERSION 1.0.0 LANGUAGES CXX)
|
||||
|
||||
set(REWRITE_QT_DISPLAY_NAME "人脸识别考勤系统")
|
||||
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml")
|
||||
set(REWRITE_QT_OUTPUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dist")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${REWRITE_QT_OUTPUT_DIR}")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${REWRITE_QT_OUTPUT_DIR}")
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${REWRITE_QT_OUTPUT_DIR}")
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@@ -20,6 +24,15 @@ file(MAKE_DIRECTORY "${REWRITE_QT_AUTOGEN_DIR}")
|
||||
|
||||
find_package(Qt6 6.2 REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2 Network)
|
||||
|
||||
get_target_property(REWRITE_QT_QMAKE_EXECUTABLE Qt6::qmake IMPORTED_LOCATION)
|
||||
if(REWRITE_QT_QMAKE_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND "${REWRITE_QT_QMAKE_EXECUTABLE}" -query QT_INSTALL_QML
|
||||
OUTPUT_VARIABLE REWRITE_QT_INSTALL_QML
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
|
||||
qt_standard_project_setup()
|
||||
|
||||
set(REWRITE_QT_APP_ICON "${CMAKE_CURRENT_SOURCE_DIR}/assets/favicon.ico")
|
||||
@@ -46,6 +59,12 @@ qt_add_executable(apprewrite_qt
|
||||
src/FaceListModel.cpp
|
||||
)
|
||||
|
||||
if(REWRITE_QT_INSTALL_QML)
|
||||
target_compile_definitions(apprewrite_qt PRIVATE
|
||||
REWRITE_QT_INSTALL_QML="${REWRITE_QT_INSTALL_QML}"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32 AND EXISTS "${REWRITE_QT_APP_ICON}")
|
||||
set(REWRITE_QT_WIN32_ICON_RC "${CMAKE_CURRENT_BINARY_DIR}/app_icon.rc")
|
||||
configure_file(cmake/app_icon.rc.in "${REWRITE_QT_WIN32_ICON_RC}" @ONLY)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include <QGuiApplication>
|
||||
#include <QIcon>
|
||||
#include <QLibraryInfo>
|
||||
#include <QDir>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QQmlContext>
|
||||
#include <QQuickStyle>
|
||||
@@ -32,6 +34,16 @@ int main(int argc, char *argv[])
|
||||
AppController controller;
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
const QString qmlImportPath = QLibraryInfo::path(QLibraryInfo::QmlImportsPath);
|
||||
if (!qmlImportPath.isEmpty()) {
|
||||
engine.addImportPath(qmlImportPath);
|
||||
}
|
||||
#if defined(REWRITE_QT_INSTALL_QML)
|
||||
const QString qtInstallQmlPath = QStringLiteral(REWRITE_QT_INSTALL_QML);
|
||||
if (QDir(qtInstallQmlPath).exists()) {
|
||||
engine.addImportPath(qtInstallQmlPath);
|
||||
}
|
||||
#endif
|
||||
engine.rootContext()->setContextProperty("appController", &controller);
|
||||
|
||||
const QUrl url(QStringLiteral("qrc:/qml/Main.qml"));
|
||||
|
||||
+652
-235
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user