使用fbs打包 PyQt5 应用程序,从非 GUI 代码访问资源文件的最干净方法是什么?
在下面的示例中,我制作了一个简单的 PyQt5 应用程序,其中一个窗口包含一个按钮。该按钮触发一个函数,该函数将读取.json资源文件并message在控制台中打印其属性。logic.py 中print_data()定义的函数也应该在没有 GUI 应用程序的情况下工作,例如供其他 python 脚本使用。因此,它不能作为 MainWindow 类的方法移动。
使用应用程序上下文的get_resource()方法来获取mainwindow.ui的路径既简单又方便。不幸的是,它不能用于print_data()获取static_data.json的路径,因为该函数无法访问应用程序上下文。
最好的解决方案是什么?
目录结构:
|-- src
| |-- main
| | |-- python
| | | |-- main.py
| | | |-- gui.py
| | | |-- logic.py
| | |-- resources …Run Code Online (Sandbox Code Playgroud)