Skip to content

Commit b9f1511

Browse files
committed
Add entry module
增加入口模块,解决了相对引用与只能作为包运行的问题; 更新 `README`,增加从源代码运行的使用方式、更新 TODO 列表、其他微小调整;
1 parent bba61d2 commit b9f1511

2 files changed

Lines changed: 53 additions & 19 deletions

File tree

README.md

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,58 +21,79 @@ Py2exe-GUI 是一个基于 [PySide6](https://doc.qt.io/qtforpython/index.html)
2121

2222
- 完全图形化界面,易用
2323
- 支持 PyInstaller 的全部选项
24-
- 可以调用本地任何一个 Python 解释器,无需在每个待打包的解释器环境中重复安装(暂未实现)
25-
- 跨平台,Windows、Linux、MacOS 均支持
24+
- (暂未实现)可以调用本地任一 Python 解释器,无需在每个待打包的解释器环境中重复安装
25+
- 可以显式指定打包时使用的 Python 解释器与对应环境(调用该解释器的 `python3 -m PyInstaller myscript.py` 即可)
26+
- 跨平台,支持 Windows、Linux、MacOS
2627

2728
## 如何使用
2829

29-
### 安装
30+
> 注意:Py2exe-GUI 尚处早期开发阶段,使用方式可能频繁变化,注意经常查阅此使用说明。
31+
32+
### 方式1:通过 `pip` 安装
3033

3134
首先在待打包的 Python 解释器环境中安装 PyInstaller:
3235

3336
```shell
34-
pip install pyinstaller
37+
pip install pyinstaller==5.5
3538
```
3639

37-
然后通过 pip 安装:
40+
然后通过 pip 安装 Py2exe-GUI
3841

3942
```shell
4043
pip install py2exe-gui
4144
```
4245

43-
### 运行
46+
运行
4447

4548
```shell
4649
python -m py2exe_gui
4750
```
4851

49-
## 项目结构
52+
### 方式2:通过仓库源码运行
5053

51-
- 项目所有代码均在 [py2exe_gui](src/py2exe_gui) 目录下
52-
- [Widgets](src/py2exe_gui/Widgets) 目录下包含所有界面控件
53-
- [Core](src/py2exe_gui/Core) 目录中为执行打包的代码
54+
克隆仓库:
5455

55-
仅为图形化界面工具,不依赖于需要打包的 Python 环境。也提供 exe 发布版。
56+
```shell
57+
git clone https://github.com/muziing/Py2exe-GUI.git
58+
```
59+
60+
安装依赖项(需要提前安装好 [Poetry](https://python-poetry.org/)):
61+
62+
```shell
63+
poetry install
64+
```
5665

57-
可以显式指定打包时使用的 Python 解释器与对应环境
58-
(调用该解释器的 `python3 -m PyInstaller myscript.py` 即可)
66+
运行 src 目录下的 [Py2exe-GUI.py](src/Py2exe-GUI.py):
67+
68+
```shell
69+
cd src
70+
python Py2exe-GUI.py
71+
```
72+
73+
74+
## 项目结构
75+
76+
- 项目所有代码均在 [py2exe_gui](src/py2exe_gui) 目录下
77+
- [Widgets](src/py2exe_gui/Widgets) 包包含所有界面控件
78+
- [Core](src/py2exe_gui/Core) 包用于执行打包
79+
- [Constants](src/py2exe_gui/Constants) 中为常量
5980

6081
## TODO
6182

62-
- [ ] 解决相对引用与作为包运行问题
83+
- [x] 解决相对引用与作为包运行问题
6384
- [x] 选项参数获取
6485
- [x] 将参数拼接成完整调用命令
6586
- [x] 参数预览器控件
6687
- [ ] 优化拼接代码
6788
- [x] 调用 `PyInstaller` 子进程
6889
- [x] 使用 `QProcess` 替代 `subprocess` 以解决界面卡死问题
6990
- [x] 将子进程的输出与状态显示至单独的弹出窗口
70-
- [ ] 完善 `SubProcessDlg`,增加取消按钮、进度条
91+
- [ ] `SubProcessDlg` 增加多功能按钮
7192
- [ ] 优化子进程相关代码,增强异常处理
7293
- [ ] 增加主界面功能控件
7394
- [ ] 资源文件添加框
7495
- [ ] Python 解释器选择器
75-
- [ ] 增加状态栏信息
96+
- [x] 增加状态栏信息
7697
- [ ] 「简洁模式」/「详尽模式」切换
7798
- [ ] 菜单栏功能
7899
- [ ] `PyInstaller` 选项参数详解表格
@@ -82,9 +103,12 @@ python -m py2exe_gui
82103
- [ ] 以合理方式保存至某种全局变量中
83104
- [ ] 定制各平台特有功能
84105
- [ ] 打包任务
85-
- [ ] 创建打包任务,保存所有选项
86-
- [ ] 定义文件并以适当格式存储(`json`
87-
- [ ] 导入导出功能
106+
- [x] 创建打包任务,保存所有选项
107+
- [ ] ~~定义文件并以适当格式存储(`json`~~
108+
- [ ] 创建 [`.spec` 文件](https://pyinstaller.org/en/stable/spec-files.html)
109+
- [ ] `spec` 编辑器
110+
- [ ] 使用qrc管理[静态资源](src/py2exe_gui/Resources)
88111
- [ ] `logging` 日志记录
89112
- [ ] QSS 与美化
113+
- [ ] 动画效果
90114
- [ ] 翻译与国际化

src/Py2exe-GUI.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication
4+
5+
from py2exe_gui.__main__ import MainApp
6+
7+
app = QApplication(sys.argv)
8+
window = MainApp()
9+
window.show()
10+
sys.exit(app.exec())

0 commit comments

Comments
 (0)