用Python写一个Mac程序

大象放冰箱分三步,python写Mac程序分四步。

QT是一个C++图像用户界面库,被芬兰的一家公司拥有,而PyQT5是QT的python版本,封装了大量的Python接口,超过6000个函数和方法,PyQT5可以运行在多个平台,另外,目前信创行业国产操作系统麒麟V10,桌面端很多应用都是基于PyQT5写的。PyQT5特性如下:

主要模块包括如下:

pip install pyqt5 (核心包) pip install pyqt5-tools (UI设计工具 Qt Designer)

为什么要配置,先看一下开发一个PyQT程序的步骤:

我们使用的IDE是PyCharm,配置方法

QtDesigner name: QtDesigner Program: /Users/yangchangming/PythonProject/windows-demo/venv/lib/python3.6/site-packages/qt5_applications/Qt/bin/Designer.app Working directory: $FileDir$ PyUIC name: PyUIC Program: /Users/yangchangming/PythonProject/windows-demo/venv/bin/pyuic5 Arguments: -x $FileName$ -o $FileNameWithoutExtension$.py Working directory: $FileDir$ PyRCC name: PyRCC Program: /Users/yangchangming/PythonProject/windows-demo/venv/bin/pyrcc5 Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py Working directory: $FileDir$

通过Designer设计UI,配置好后,双击存在的UI文件会打开编辑器,即可拖拽式进行UI设计,并可以快速查看设计效果,最终生成

在PyCharm中打开ui文件,并作为激活页面,然后点击Tools中External Tools中的PyUIC菜单,即执行命令进行转换,转为同名的python文件。命令如下:

/Users/yangchangming/PythonProject/windows-demo/venv/bin/pyuic5 -x auto-layout-window.ui -o auto-layout-window.py

转换后的UI Python文件可以直接执行,但是一般情况下都需要结合实际业务逻辑代码来启动UI,通常写法是通过第三方来调动UI类,并进行UI的初始化,如下:

class Loader(QMainWindow): def __init__(self, parent=None): super(QMainWindow, self).__init__(parent) self.ui = LDCP_UI() self.ui.setupUi(self)

利用FBS来打包程序,fbs是一个打包工具,可以将python程序打包成exe,mac,linux下的安装包,先安装fbs,如下命令:

pip install fbs

生成fbs工程骨架,在当前工程所在目录命令行使用命令

该工程目录中包括了生成各个平台所需的资源文件和配置文件,比如icon,windows下的安装包路径,以及各个平台下的配置文件。将原先写的python文件copy至

from fbs_runtime.application_context.PyQt5 import ApplicationContext if __name__ == '__main__': appctxt = ApplicationContext() # 1. Instantiate ApplicationContext loaderApp = loader.Loader() loaderApp.show() exit_code = appctxt.app.exec_() # 2. Invoke appctxt.app.exec_() sys.exit(exit_code)

在命令行执行