mirror of
https://github.com/muziing/Py2exe-GUI.git
synced 2025-02-03 17:12:55 +08:00
新功能: - 界面上许多控件增加 ToolTip 提示,显示对应的 PyInstaller 选项详情; - `--hidden-import` 添加“隐式导入”功能; - 增加浏览当前 Python 环境中所有已安装库的窗口对话框 `PkgBrowserDlg`; 重大修改: - 重新实现 `PyEnv` 类,不再仅是简单存储可执行文件的数据类,还重构集成了获取版本、已安装包等等功能; - 将 `PyinstallerArgs` 枚举类重命名为 `PyInstOpt`; - `PackagingTask` 实例属性中改用字典存储打包任务参数; 修复与优化: - 优化 `QtFileOpen` 与 `PyQTextFileIo`,有了更完善的异常机制; - 其他异常处理与优化;
3.2 KiB
3.2 KiB
开发待办事项
控件
- 子进程窗口
SubProcessDlg
- 将子进程的输出与状态显示至单独的对话框
- 增加多功能按钮
- 关闭窗口时中断子进程、清除输出
- 处理不能正确显示子进程错误的问题(会被“打包完成”遮盖)
- 增加「将输出导出到日志文件」功能
- 增加简单高亮功能
- 添加资源文件窗口
--add-data
、--add-binary
--paths
、--hidden-import
等可多次调用的选项- 模仿 Windows “编辑环境变量” 窗口,左侧条目,右侧添加删除编辑等按钮
- Python 解释器选择器
- 文件浏览对话框选择解释器可执行文件
- 处理解释器验证器返回结果,异常时弹出对话框要求用户自行检查确认
- 创建「解释器环境类」,保存解释器路径等信息
- ComboBox 中列出各解释器,将解释器路径保存在userData中
- 快捷显示已安装的
PyInstaller
版本,未安装则提供「一键安装」 - (?) 识别系统解释器/venv/Poetry/conda等
- 用户自定义选项输入框
- 允许用户自行输入选项,添加到选项列表中
- 命令浏览器
- 显示将传递给 PyInstaller 的选项列表
- 高亮提示
- 以终端命令格式显示完整命令,并添加续行符
- 导出为脚本功能,根据运行时平台导出 bash、PowerShell 等格式脚本
- ToolTip 提示,对应 PyInstaller 文档,提供完整帮助信息
PyInstaller
选项参数详解表格- 主窗口状态栏显示软件版本
- 「一键调试」模式,自动选择
--onedir
、--console
、--debug
等利于调试的选项
打包
- 选项参数获取
- 将参数拼接成完整调用命令
- 参数预览器控件
- 使用枚举值控制参数
- 优化拼接代码
- 调用
PyInstaller
子进程- 使用
QProcess
替代subprocess
以解决界面卡死问题 - 优化子进程相关代码,增强异常处理
- 使用
- 打包任务
- 创建打包任务,保存所有选项
- 导出打包任务(json 或 yaml 格式)与加载打包任务
- 创建
.spec
文件
界面
- 实现跨平台功能
- 获取当前运行平台,保存至全局变量中
- 定制各平台特有功能
- 使用
qrc
管理静态资源 - 翻译与国际化
- Qt 提供的界面文本自动翻译
- 自实现的不同语言下功能差异,如“打开PyInstaller文档”指向不同的链接等
应用程序级
- 解决相对引用与作为包运行问题
logging
日志记录- 将用户设置保存到文件中存储
美化
- QSS 与美化
- 动画效果
构建与分发
平台:
- Windows 发行版
- Linux 发行版
分发方式:
- PyPI
- GitHub Releases
- Arch Linux AUR
- Ubuntu PPA
可选依赖
- Pillow
- 更精确的图标文件格式识别
- 自动将其他格式转换为平台对应的图标格式