向相关开发者表示敬意.
一般情况请勿自行构建, 至 Release 下载最新版
Windows 7 上需使用 Python 3.8 构建, 代码及依赖均兼容, 可在本地自行构建. 也可使用 GitHub Actions 构建:
BUILD_FOR_WINDOWS_LEGACY
变量, 值非空即可Build and Release
低版本 macOS: 需注意 opencv 兼容性问题, 参考 issue #82.
也可使用 GitHub Actions 构建, 步骤同上, 需设置 BUILD_FOR_MACOS_LEGACY
变量, 值非空即可;
以及 MACOS_LEGACY_CV_VERSION
变量, 值为兼容的 opencv-contrib-python-headless
版本
ARM64(AArch64) 架构: 可本地构建. 若欲使用 GitHub Actions 构建, 需 添加自托管的运行器,
并设置 SELF_HOSTED_MACOS_ARM64_RUNNER
变量
cmd
cd /d D:\dev\mdcx
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
set PYTHONPATH=.\src;%PYTHONPATH%
python main.py
powershell
cd D:\dev\mdcx
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
$env:PYTHONPATH = "./src;$env:PYTHONPATH"
python main.py
cd /path/to/mdcx
python -m venv venv
source venv/bin/activate
pip install -r requirements-mac.txt
export PYTHONPATH=./src:$PYTHONPATH
python main.py
config.ini.default
中添加配置项及其默认值, 值类型可以是字符串, 整数, 浮点数src/models/config/config_manual.py
中将配置键加入 INT_KEY
或 FLOAT_KEY
中src/models/config/config_generator.py
中的 CONFIG_STR
, 这用于生成默认配置文件src.models.config.config.MDCxConfig.save_config
方法, 将新配置项加入模板字符串中, 这用于保存配置文件src/models/config/config_generator.py
, 这将更新 src/models/config/config_generated.py
from models.config.config import config
导入配置, 并通过 config.<key>
获取对应值, 且支持 IDE 补全src/controllers/main_window/
目录下 load_config.py
及 save_config.py
, 以实现与图形界面的交互src/views/MDCx.ui
定义了主窗口, src/views/posterCutTool.ui
是图片裁剪窗口, 可使用 Qt Designer 或 Qt Creator 编辑pyuic5 src\views\MDCx.ui -o src\views\MDCx.py
生成对应的 Python 代码src.controllers.main_window.init.Init_Singal
src/controllers/main_window/main_window.py
src/models
中包括全部业务逻辑, 其中:config
目录包括配置管理相关的代码base
目录包括基本的功能函数, 它们耦合度较低core
包括核心功能实现, 其中 scraper.py
包括刮削过程的实现signals.py
包括 Qt 信号量, 这是 MC 解耦的关键, 它也负责日志打印config
和 signal
是预定义的单例, 可以在任何位置导入使用views
和 controllers
结构相对简单, 可参考上文说明