diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..6dddafe --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# 贡献指南 + +非常感谢你愿意为 PySide6-Code-Tutorial 项目提供贡献,请阅读以下内容,遵守一些基本规则,以便项目保持良好状态快速发展。 + +## 开始编码之前 + +如果你准备对代码进行超过数十行的修改或新增,我强烈建议你先提交一个 issue,谈谈你想实现的东西。在投入很多精力之前,我们应该先讨论一下是否要这样做,也可以确保我们不重复工作。 + +## 编写代码 + +### 准备开发环境 + +开发环境相较于使用环境较为复杂,确保已经安装 Python 3.11+ 和 [Poetry](https://python-poetry.org/docs/#installation),然后通过 Poetry 创建和安装开发环境: + +```shell +cd PySide6-Code-Tutorial +poetry init +poetry install +``` + +还需要通过 [pre-commit](https://pre-commit.com/) 安装 git 钩子: + +```shell +pre-commit install +``` + +### 代码风格 + +- 总体来讲,新增和修改的代码应接近原有代码的风格。尽量使代码有良好的可读性。 +- 请使用 [Black](https://black.readthedocs.io/en/stable/) 格式化代码,确保所有代码风格与项目一致。开发环境中已经安装了 Black,配置使用方法可以参考[这篇文章](https://muzing.top/posts/a29e4743/)。 +- 请为代码添加充分的[类型注解](https://muzing.top/posts/84a8da1c/),并能通过 [mypy](https://mypy.readthedocs.io/en/stable/) 检查不报错。 +- 请为模块、类、函数/方法、属性等添加 docstring 或注释,确保含义清晰易读。 + +## 拉取请求 + +新建一个指向 [muziing/PySide6-Code-Tutorial](https://github.com/muziing/PySide6-Code-Tutorial) 的 `main` 分支的拉取请求,我将尽快 review 代码并给出反馈。 diff --git a/README.md b/README.md index a6b6e92..f3d683b 100644 --- a/README.md +++ b/README.md @@ -42,17 +42,7 @@ ### 二、配置虚拟环境与安装依赖 -**方式 A** :[Poetry](https://python-poetry.org/)(推荐) - -1. 确保 Python 版本与 [pyproject.toml](./pyproject.toml) 中要求的一致 -2. 按[官方文档](https://python-poetry.org/docs/#installation)提示安装 Poetry -3. 创建虚拟环境:`poetry env use /full/path/to/python`(注意替换路径) -4. 安装依赖:`poetry install --no-root --only main` -5. 使用该虚拟环境: `poetry shell`(或在 PyCharm 等 IDE 中配置) - -> 更多 Poetry 使用方法信息,请参阅其[官方文档](https://python-poetry.org/docs/)。 - -**方式 B** :[venv](https://docs.python.org/zh-cn/3/library/venv.html)(简单易用) +**方式 A** :[venv](https://docs.python.org/zh-cn/3/library/venv.html)(简单易用,推荐) 1. 确保 Python 版本与 [pyproject.toml](./pyproject.toml) 中要求的一致 2. 创建虚拟环境 @@ -63,6 +53,16 @@ - Linux/macOS: `. venv/bin/activate` 4. 安装依赖:`pip install -r requirements.txt` +**方式 B** :[Poetry](https://python-poetry.org/) + +1. 确保 Python 版本与 [pyproject.toml](./pyproject.toml) 中要求的一致 +2. 按[官方文档](https://python-poetry.org/docs/#installation)提示安装 Poetry +3. 创建虚拟环境:`poetry env use /full/path/to/python`(注意替换路径) +4. 安装依赖:`poetry install --no-root --only main` +5. 使用该虚拟环境: `poetry shell`(或在 PyCharm 等 IDE 中配置) + +> 更多 Poetry 使用方法信息,请参阅其[官方文档](https://python-poetry.org/docs/)。 + **方式 C** :其他包管理工具 1. 使用你喜欢的其他工具创建虚拟环境,如 [Pipenv](https://pipenv.pypa.io/)、[Conda](https://www.anaconda.com/) 等 @@ -86,7 +86,7 @@ | [01. HelloWorld - PySide 基本结构](./01-HelloWorld-基本结构) | 新手上路,PySide6 程序的基本结构 | | [02. QtCore - 非GUI的核心功能](./02-QtCore-非GUI的核心功能) | 元对象系统、「信号与槽」通信机制等 | | [03. QtWidgets - 常用控件](./03-QtWidgets-常用控件) | 按钮、输入框、文本编辑器、下拉菜单、滚动条等等常用控件的功能、用法 | -| [04. QtGui - 使用GUI功能扩展QtCore](./04-QtGui-使用GUI功能扩展QtCore) | 位图、字体、颜色、键盘快捷键等、事件 | +| [04. QtGui - 使用GUI功能扩展QtCore](./04-QtGui-使用GUI功能扩展QtCore) | 位图、字体、颜色、键盘快捷键等、事件(暂未完成) | | [05. QtWidgets - 进阶话题](./05-QtWidgets-进阶话题) | 布局管理器、QSS样式、主窗口控件等 | | [06. Model/View - 模型与视图、数据库](./06-ModelView-模型与视图、数据库) | 模型与视图、与数据库交互 | | [07. Packaging - 静态资源编译、打包](./07-Packaging-资源管理与打包) | 将应用程序打包为 `exe`、将静态资源编译至二进制 `qrc` 文件 | @@ -139,6 +139,6 @@ PySide6 Code Tutorial 是一个开源项目,非常期待以及感谢你的参 ## 打赏 -本项目的[主要作者/维护者](https://muzing.top/about/)是一名还没有收入的在校学生,如果本项目对你有帮助,希望可以请他喝一杯冰可乐 :beer:。 +如果本项目对你有帮助,可以请[主要作者/维护者](https://muzing.top/about/)喝一杯冰可乐 :beer:。 -![微信收款码](./Resources/Images/muzing-WeChat-Collection.png) +![微信赞赏码](./Resources/Images/muzing-WeChat-Collection.png)