一般来说开发windowGui使用较多的是c++的Qt,因为之前做过类似的项目,觉得c++开发起来太过繁琐。所以选择了PyQt进行开发。下面是安装方式:
pip3 install PyQt5
简单介绍一下PyQt,c++的源生框架Qt给python封装出来的API,由python去调用,整个PyQt有1/3是python代码,剩下由c++代码组成。具体的去看官方文档。就不赘述了。
前期开发的UI界面还是得通过Qt进行勾画,把Qt勾画出来的UI文件直接拿出来使用。
pyuic5 XXX.ui -o XXX.py
这样就可以将UI文件变为py文件。
剩下的就开始处理后台数据了,这次主要是操作excel。读取数据的时候,如果windows路径名称含有中文就不要使用openpyxl,虽说py3把py2编码问题解决了,但是这个库还是令人窒息。
强烈建议使用xlrd,同样也是pip进行安装,后台读取文件速度却比openpyxl快很多。
数据通过xlrd读入之后,将数据存储到pandas.DataFrame中,牵扯到运算处理的话,用numpy就绰绰有余了,这两个库是专业进行科学运算的,具体的使用方式自己翻官方文档,不赘述。
做项目之前一定做好需求分析,将所有的需求都考虑到,避免出现代码扩展性较差,牵一发而动全身的情况。
如果不需要处理图表,那么使用xlwt就够了,速度快,API留的方便使用,牵扯到图表了,就需要使用xlsxwriter了。具体的使用方式,同样不赘述,自己翻官方文档。
PyQt是跨平台的,所以说MacOSX的代码,放在windows下编译一下就可以运行了,再windows下给PyQt5配置环境的时候,需要注意的是,python一定不能安装在C盘。因为windows系统保护,会存在库文件提取不到,编译不通过各种问题,之后通过pip安装其他库的时候, 一般会安装在python的目录下,就不用指定目录了。(linux上不存在这些问题)
至于打包生成exe,网上都说用pyinstaller挺爽。
pip3 install pyinstaller
安装之后pyinstaller XXX.py打包生成exe文件。
具体的参数的话
-D是将所有的依赖库都打包进入文件夹
-F是生成一个独立的exe文件,不牵扯其他动态库,当然这样出来的exe会很大
-w是不要控制台的exe,一般用在最后打包的时候,调试code的时候,还是不建议加上这个参数
-p是指定需要用到的库的路径,如果python和库都在一个位置,指定不指定就无所谓了,除非不再一个位置,那么需要指定库路径,避免找不到库。
常用的参数就这么多了,剩下如果有特殊需要的,还是看官方文档。
当然如果库都安装好了的话,直接双击py文件,就可以弹窗出来Gui进行操作了。