Procházet zdrojové kódy

项目的初始框架

xj před 5 měsíci
rodič
revize
0d6037630f

+ 4 - 0
.gitignore

@@ -28,3 +28,7 @@
 *.out
 *.app
 
+build/
+bin/
+.qtcreator/
+

+ 17 - 0
CMakeLists.txt

@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 3.16)
+
+project(LOTO)
+
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+set(QT_SILENCE_MISSING_DEPENDENCY_TARGET_WARNING ON)
+set(QT_NO_PRIVATE_MODULE_WARNING ON)
+
+# 查找依赖
+find_package(Qt6 REQUIRED COMPONENTS Quick Core Qml QuickControls2)
+
+add_subdirectory(src)

+ 31 - 1
README.md

@@ -1,3 +1,33 @@
 # ISCS_LOTO_Linux
 
-锁控机柜系统
+锁控机柜系统
+
+# 项目结构说明
+
+./src目录
+
+## httpclient
+
+./src/httpclient
+
+- 用于访问后台的功能模块
+
+## interactice
+
+./src/interactive
+
+- C++与QML交互的模块
+
+## qml
+
+./src/qml
+
+- 用户界面UI
+
+# usr
+
+./src/usr
+
+- 基本配置信息
+
+- 用户信息、用户登录等功能

+ 84 - 0
src/CMakeLists.txt

@@ -0,0 +1,84 @@
+cmake_minimum_required(VERSION 3.16)
+
+set(PROJECT_VERSION 0.1.0.0)
+
+set(LOTO VERSION ${PROJECT_VERSION} LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_STANDARD 17)
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../bin/${CMAKE_BUILD_TYPE})
+set(ENV{QML_IMPORT_PATH} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
+find_package(Qt6 COMPONENTS Core Gui Quick REQUIRED)
+qt_standard_project_setup()
+
+# 分类文件
+FILE(GLOB LOTO_HTTPCLIENT_HPP ${CMAKE_CURRENT_SOURCE_DIR}/httpclient/*.h)
+FILE(GLOB LOTO_HTTPCLIENT_CPP ${CMAKE_CURRENT_SOURCE_DIR}/httpclient/*.cpp)
+source_group("httpclient/inc" FILES ${LOTO_HTTPCLIENT_HPP})
+source_group("httpclient/src" FILES ${LOTO_HTTPCLIENT_CPP})
+
+FILE(GLOB LOTO_INTERACTIVE_HPP ${CMAKE_CURRENT_SOURCE_DIR}/interactive/*.h)
+FILE(GLOB LOTO_INTERACTIVE_CPP ${CMAKE_CURRENT_SOURCE_DIR}/interactive/*.cpp)
+source_group("interactive/inc" FILES ${LOTO_INTERACTIVE_HPP})
+source_group("interactive/src" FILES ${LOTO_INTERACTIVE_CPP})
+
+FILE(GLOB LOTO_USR_HPP ${CMAKE_CURRENT_SOURCE_DIR}/usr/*.h)
+FILE(GLOB LOTO_USR_CPP ${CMAKE_CURRENT_SOURCE_DIR}/usr/*.cpp)
+source_group("usr/inc" FILES ${LOTO_USR_HPP})
+source_group("usr/src" FILES ${LOTO_USR_CPP})
+
+FILE(GLOB LOTO_QML_FILES ${CMAKE_CURRENT_SOURCE_DIR}/qml/*.qml)
+list(APPEND ${LOTO_QML_FILES} main.qml)
+source_group("qml" FILES ${LOTO_QML_FILES})
+
+add_executable(${PROJECT_NAME} main.cpp)
+
+qt_add_qml_module(${PROJECT_NAME}
+    URI Loto
+    VERSION 1.0
+    OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+    RESOURCE_PREFIX "/"
+    QML_FILES
+        main.qml
+        qml/Login.qml
+    SOURCES
+        httpclient/HttpClient.h httpclient/HttpClient.cpp
+    SOURCES
+        interactive/InteractiveTask.h interactive/InteractiveTask.cpp
+    SOURCES
+        usr/config.h usr/config.cpp
+        usr/define.h
+)
+
+
+target_include_directories(${PROJECT_NAME} PRIVATE
+    ${CMAKE_CURRENT_SOURCE_DIR}/httpclient
+    ${CMAKE_CURRENT_SOURCE_DIR}/interactive
+    ${CMAKE_CURRENT_SOURCE_DIR}/usr
+)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE
+    Qt6::Core
+    Qt6::Gui
+    Qt6::Quick
+)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 0 - 0
src/httpclient/HttpClient.cpp


+ 0 - 0
src/httpclient/HttpClient.h


+ 0 - 0
src/interactive/InteractiveTask.cpp


+ 0 - 0
src/interactive/InteractiveTask.h


+ 0 - 0
src/main.cpp


+ 6 - 0
src/main.qml

@@ -0,0 +1,6 @@
+import QtQuick
+import QtQuick.Controls
+
+ApplicationWindow {
+    id: appWindow
+}

+ 5 - 0
src/qml/Login.qml

@@ -0,0 +1,5 @@
+import QtQuick
+
+Item {
+    id: control
+}

+ 0 - 0
src/usr/config.cpp


+ 0 - 0
src/usr/config.h


+ 0 - 0
src/usr/define.h