Python 的 Qt 和 fbs¶
fbs 提供了一个强大的环境,用于打包、创建安装程序以及为您的应用程序签名。它还允许您管理应用程序的更新。由于 fbs 基于 PyInstaller,它支持 Linux、macOS 和 Windows。
准备¶
安装 fbs (>= 0.7.6) 是通过 pip 完成的:
pip install fbs
如果您正在使用虚拟环境,请记得在安装fbs之前激活它。
安装后,您可以使用fbs可执行文件。
开始一个新项目¶
fbs 提供了有用的功能,让你可以通过以下命令创建一个基础项目结构:
fbs startproject
此命令会提示您回答几个问题以配置项目的详细信息,例如:
应用程序名称
作者姓名
Qt 绑定 (PySide6)
已识别的捆绑包(适用于 macOS)
之后,您将拥有一个src/目录,其中包含以下结构:
└── src
├── build
│ └── settings
└── main
├── icons
│ ├── base
│ ├── linux
│ └── mac
└── python
在settings目录中,有一些JSON文件可以编辑以包含更多关于项目的信息。
主文件位于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可执行文件。