以下为授权转载的一盎司科技公众号文章
Python除了编写脚本非常方便,制作界面小工具也很快捷,上一篇我们使用PySide6制作一个自动生成C++类的小工具。这里,我们采用之前开源的PySideFrameless项目来改造它,丰富功能,提升美观度。
示例代码地址:
GitHub地址:https://github.com/iounce/python-cpp-demo
Gitee地址:https://gitee.com/iounce_admin/python-cpp-demo
环境
-
Windows操作系统:Windows10(21H2,19044.1766)
-
C++开发环境:Visual Studio 2022社区版
-
Python:3.10.4
-
PySideFrameless:1.0.1
编写界面
PySideFrameless项目已经是一个完整的工程,只需要在主界面main_window.py文件中添加内容即可。
首先,将上一篇实现的小工具的界面初始化部分,添加到MainWindow的初始化函数init()之中。
新增组件会添加到主界面的layout_body布局之中。此布局有一个名为widget_body的widget控件(ui_main.ui文件中可查看),新增界面以此widget控件为父组件创建,这样整个新增界面都会自动绘制在layout_body布局之中。
整个改造过程只需几处细微的修改,几乎可以直接复制过来使用,改造起来非常方便。
具体而言,为了区分模块,将上一篇生成C++代码的辅助类改为CppFileHelper,并将文本长度计算辅助类改为WidthHelper,再就是修改了默认窗体名称,其他基本保持PySideFrameless项目的原貌。
效果展示
经过改造之后,效果明显,借助于PySideFrameless项目,很容易就实现整个小工具的快速升级换代。
说明
-
为了简单起见,这里只是简单拷贝上一篇的实现代码,对于中文没有做转换处理,主要是改造zh_CN.ts和en_US.ts两个语言翻译转换文件并编译为zh_CN.qm和en_US.qm,后续我们将改造后更新仓库,不再单独发文;
-
后续我们将编写一些文章,介绍安装使用PyInstaller工具,将Python编写的界面应用程序打包成exe,以及使用InnoSetup软件将exe制作为安装包。