docs: 修改文档
This commit is contained in:
109
README.md
109
README.md
@@ -10,111 +10,7 @@
|
||||
> 当前图形界面仅包含功能演示级别内容, 尚未与潜进 Python 核心程序库实现对接.
|
||||
|
||||
HeurAMS-K 将通过 **PyOtherSide** 直接复用 HeurAMS Python 内核,
|
||||
实现"现代化 UI + 成熟核心"的架构, 同时支持 Windows、Linux、macOS、Android 和 Plasma Mobile 平台.
|
||||
|
||||
## 特性
|
||||
|
||||
### 技术栈
|
||||
|
||||
- **Qt6** (≥ 6.8.0) + **KF6** (≥ 6.12.0) + **Kirigami Addons** (≥ 1.10.0)
|
||||
- **Kirigami** 自适应 UI 框架 — 一套代码适配桌面与移动端
|
||||
- **QML** 声明式界面 — 组件化、可扩展
|
||||
- **KConfig** 配置框架 — 类型安全的设置管理
|
||||
- **ECM QML Module** — 模块化 QML 扩展
|
||||
- **Flatpak** 打包 — 沙箱化 Linux 分发
|
||||
- **Android** 原生支持 — 通过 `androiddeployqt` 构建 APK/AAB
|
||||
|
||||
### 项目架构
|
||||
|
||||
```
|
||||
HeurAMS-K/
|
||||
├── CMakeLists.txt # 顶层 CMake 构建配置
|
||||
├── src/
|
||||
│ ├── CMakeLists.txt # 静态库与可执行文件构建
|
||||
│ ├── main.cpp # 入口点 (KirigamiApp)
|
||||
│ ├── heuramsapplication.h/cpp # 应用类 (AbstractKirigamiApplication)
|
||||
│ ├── heuramsconfig.kcfg # KConfig 设置定义
|
||||
│ ├── heuramsconfig.kcfgc # KConfig 代码生成配置
|
||||
│ ├── qml/
|
||||
│ │ └── Main.qml # 主窗口 (StatefulWindow)
|
||||
│ └── settings/
|
||||
│ ├── CMakeLists.txt
|
||||
│ ├── HeurAMSConfigurationView.qml # 配置视图
|
||||
│ └── GeneralPage.qml # 通用设置页
|
||||
├── android/
|
||||
│ ├── AndroidManifest.xml
|
||||
│ ├── build.gradle
|
||||
│ └── res/ # Android 资源
|
||||
├── .flatpak-manifest.json # Flatpak 构建清单
|
||||
├── top.pluv27.heurams.kiri.desktop # .desktop 文件
|
||||
├── top.pluv27.heurams.kiri.metainfo.xml # AppStream 元数据
|
||||
├── .clang-format # 代码格式化配置
|
||||
└── LICENSES/ # REUSE 规范的许可证文件
|
||||
```
|
||||
|
||||
### QML 模块
|
||||
|
||||
- `top.pluv27.heurams.kiri` — 主模块 (Main.qml, HeurAMSApplication)
|
||||
- `top.pluv27.heurams.kiri.settings` — 设置模块 (ConfigurationView, GeneralPage)
|
||||
|
||||
### 构建依赖
|
||||
|
||||
| 依赖 | 最低版本 |
|
||||
|------|----------|
|
||||
| CMake | ≥ 3.24 |
|
||||
| Qt6 (Qml, Widgets) | ≥ 6.8.0 |
|
||||
| KF6 (Kirigami, CoreAddons, Config, I18n) | ≥ 6.12.0 |
|
||||
| Kirigami Addons | ≥ 1.10.0 |
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 从源码构建
|
||||
|
||||
```bash
|
||||
# 1. 安装依赖 (以 Debian/Ubuntu 为例)
|
||||
sudo apt install cmake extra-cmake-modules qt6-base-dev qt6-declarative-dev \
|
||||
libkf6kirigami-dev libkf6coreaddons-dev libkf6config-dev libkf6i18n-dev \
|
||||
kirigami-addons-dev
|
||||
|
||||
# 2. 配置与构建
|
||||
cd HeurAMS-K
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build
|
||||
|
||||
# 3. 运行
|
||||
./build/src/heurams
|
||||
```
|
||||
|
||||
### Flatpak 构建
|
||||
|
||||
```bash
|
||||
flatpak-builder --user --install flatpak-build .flatpak-manifest.json
|
||||
flatpak run top.pluv27.heurams.kiri
|
||||
```
|
||||
|
||||
### Android 构建
|
||||
|
||||
需安装 Qt Android 工具链与 Android SDK/NDK, 然后:
|
||||
|
||||
```bash
|
||||
cmake -B build-android \
|
||||
-DCMAKE_TOOLCHAIN_FILE=/path/to/android-toolchain.cmake \
|
||||
-DQT_HOST_PATH=/path/to/qt-host \
|
||||
-DANDROID_SDK_ROOT=$ANDROID_SDK_ROOT \
|
||||
-DANDROID_NDK=$ANDROID_NDK
|
||||
cmake --build build-android
|
||||
```
|
||||
|
||||
## 项目状态
|
||||
|
||||
```
|
||||
构建框架 ████████████████░░░░ 80% ✅ CMake、QML 模块、静态库
|
||||
设置系统 ████████████░░░░░░░░ 60% ✅ KConfig + 设置页面
|
||||
桌面整合 ████████████░░░░░░░░ 60% ✅ .desktop、metainfo、Flatpak
|
||||
Android 支持 ██████████░░░░░░░░░░ 50% ✅ AndroidManifest、Gradle
|
||||
界面功能 ██░░░░░░░░░░░░░░░░░░ 10% ⏳ 仅功能演示(scaffold)
|
||||
Python 内核桥 ░░░░░░░░░░░░░░░░░░░ 0% ⏳ 待 PyOtherSide 集成
|
||||
```
|
||||
支持 Windows、Linux (原生与 Flatpak)、macOS、Android 和 Plasma Mobile 平台.
|
||||
|
||||
## 参与项目
|
||||
|
||||
@@ -125,7 +21,8 @@ HeurAMS-K 项目需要以下方面的贡献者:
|
||||
- **Python 桥接** — PyOtherSide 或类似技术的集成
|
||||
- **Android / Plasma Mobile** — 移动端适配与测试
|
||||
|
||||
请参阅 [潜进主项目贡献指南](https://git.pluv27.top/pluv/HeurAMS/src/branch/main/CONTRIBUTING.md) 了解整体贡献流程.
|
||||
由于 KDE Invent 的硬性规定, 仓库主分支使用 `master` 而非 `main` 以便和 KDE 的设施集成, 这与 HeurAMS 主项目不同,
|
||||
其他内容请参阅 [潜进主项目贡献指南](https://git.pluv27.top/pluv/HeurAMS/src/branch/main/CONTRIBUTING.md) 了解整体贡献流程.
|
||||
|
||||
## 许可证
|
||||
|
||||
|
||||
Reference in New Issue
Block a user