PyQt5+QtDesigner+fbs+python创建桌面程序

最近发现用PyQt5和QtDesigner创建python的GUI程序非常的方便,界面也要比TK好看不少,比如下图是用Qt写的一个界面:

下图是在QtDesigner中设计的界面,界面可以自适应窗口的变化,而且创建方法十分简单,只需要拖拉和创建layout就能快速的创建出需要的界面:

在QtDesigner中设计好界面之后,保存的格式为.ui文件,我们还需要把它转化为python文件。找到pyuic5.exe的路径,在.ui文件所在文件夹中打开命令窗口,输入如下命令:

 (你的路径)pyuic5 -x 文件名.ui -o 文件名.py  

之后我们就得到了.py文件。

如果你使用PyCharm编辑器,可以把QtDesigner和pyuic5加入到外部工具,非常方便,添加方法如下:

打开PyCharm,打开File-Setting-Tools-External Tools,然后点击+号添加工具,下图是添加好的两个工具,只需要根据提示填写路径即可。

QtDesigner中的Arguments选择Filename,Working directory选择Filedir。

PyUIConv中的Arguments设置 -x $FileName$ -o $FileNameWithoutExtension$.py ,Working directory选择Filedir。

配置完成后,我们就可以选中文件右键调用了,非常方便,如下图所示:

在实现界面的功能时,我们新建一个python文件,把界面和功能分开来写,这样即使每次修改界面,也不会影响程序的运行。

在完成界面以及相应的功能后,我们可以用fbs来把python文件打包成为exe文件。

fbs的帮助文档地址:https://build-system.fman.io/manual/

现在fbs还不支持python3.7,所以如果要使用fbs来打包程序,请安装python3.5或3.6版本。

fbs的安装方法非常简单,使用conda prompt,在相应的虚拟环境下使用pip安装即可。

fbs安装完成后,在命令行(最好在conda prompt中)输入fbs startproject,会在文件夹下创建一个src文件夹,里面包含相应的文件。

我们把自己的python文件放在srcmainpython文件夹中,并修改srcuildsettings中的base.json文件,把main.py改为自己的主文件名称,需要在主文件中添加一行导入

 from fbs_runtime.application_context import ApplicationContext 。

在命令行运行fbs run,查看是否正常启动。如果正常,运行fbs freeze,得到一个免安装版本的软件。当然也可以输出一个安装版,具体可查阅帮助文档:https://build-system.fman.io/manual/

最终生成一个target文件夹,下面放着打包后的exe文件,如果图标使用的是相对路径,记得把图标文件拷贝到exe文件的相对路径下,效果如下:

原文地址:https://www.cnblogs.com/yunxiaofei/p/10804747.html