Qt for Python & fbs#
fbs提供了强大的打包、创建安装程序和签名应用程序的环境。它还允许您管理应用程序的更新。由于fbs基于PyInstaller,因此它支持Linux、macOS和Windows。
准备工作#
通过pip安装fbs(>= 0.7.6)
pip install fbs
如果您正在使用虚拟环境,请记住在安装fbs之前激活它。
安装完成后,您可以使用fbs可执行文件。
开始新项目#
fbs提供了以下命令创建基础项目结构的实用功能
fbs startproject
此命令会提示您回答一些问题以配置项目的详细信息,例如
应用程序名称
作者名称
Qt绑定(PySide6)
捆绑标识(针对macOS)
之后,您将拥有一个包含以下结构的src/
目录
└── src
├── build
│ └── settings
└── main
├── icons
│ ├── base
│ ├── linux
│ └── mac
└── python
在settings
目录中,有几个JSON文件可以编辑以包含有关项目的更多信息。
默认的main
文件位于python
目录中,其默认内容是
from fbs_runtime.application_context import ApplicationContext
from PySide6.QtWidgets import QMainWindow
import sys
if __name__ == '__main__':
appctxt = ApplicationContext() # 1. Instantiate ApplicationContext
window = QMainWindow()
window.resize(250, 150)
window.show()
exit_code = appctxt.app.exec() # 2. Invoke appctxt.app.exec()
sys.exit(exit_code)
此示例显示了一个空的QMainWindow
。您可以使用以下命令运行它
fbs run
冻结应用程序#
一旦您确认应用程序运行正常,您可以使用以下命令继续冻结过程
fbs freeze
过程完成后,您会看到一条消息,表明可执行文件的位置。例如
Done. You can now run `target/MyApp/MyApp`. If that doesn't work, see
https://build-system.fman.io/troubleshooting
现在,您可以尝试运行应用程序。结果是您使用fbs run
命令看到的相同窗口
cd target/MyApp/
./MyApp
注意
这是针对Linux的情况。对于macOS等其他平台,您需要进入目录:target/MyApp.app/Contents/macOS
。对于Windows,您需要找到MyApp.exe
可执行文件。