0

希望你们做得好伙计们!我正在使用 PyCharm 和 Virtual Env 开始一个项目。有人可以帮忙吗?我有这些文件:

main.py 的代码:

from fbs_runtime.application_context.PySide2 import ApplicationContext
import sys
from package.main_window import MainWindow
if __name__ == '__main__':
    appctxt = ApplicationContext()       # 1. Instantiate ApplicationContext
    window = MainWindow()
    window.resize(250, 150)
    window.show()
    exit_code = appctxt.app.exec_()      # 2. Invoke appctxt.app.exec_()
    sys.exit(exit_code)

我有另一个包含以下代码的文件 main_window.py: from PySide2 import QtWidgets

class MainWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.setup_ui()

    def setup_ui(self):
        self.create_widgets()
        self.modify_widgets()
        self.create_layouts()
        self.add_widgets_to_layouts()
        self.setup_connections()

    def create_widgets(self):
        self.btn_click = QtWidgets.QPushButton("Click")

    def modify_widgets(self):
        pass

    def create_layouts(self):
        self.main_layout = QtWidgets.QVBoxLayout(self)

    def add_widgets_to_layouts(self):
        self.main_layout.addWidget(self.btn_click)

    def setup_connections(self):
        self.btn_click.clicked.connect(self.bouton_clicked)

    def bouton_clicked(self):
        message_box = QtWidgets.QMessageBox()
        message_box.setWindowTitle("Bravo")
        message_box.setText("Première application réussi")
        message_box.exec_()

最后我用这个创建了一个 freeze.sh 文件: source ~/PycharmProjects/venv/Scripts/activate cd ~/PycharmProjects/echaufement/

fbs clean
fbs freeze

我 cd 我的 src/main 文件夹并使用: sh freeze.sh 它创建了一个包含我的 App.exe 的目标文件夹,但是当打开我的 App.exe 时出现以下错误:无法执行脚本 main 最后在调试后 -fbs freeze --调试-我有这个-请看图片谢谢你的帮助。 在此处输入图像描述

4

1 回答 1

0

第 11 行是否存在路径问题./Scripts/fbs-script.py

同样作为一般规则,fbs在 python 3.6 之后不能很好地发挥作用。尝试在 python 3.6.x venv 时再次冻结应用程序?

我在这里概述了如何使用 python 3.6.xvirtualenv构建fbs应用程序:How to compile PyQt5 program that uses python 3.8

于 2020-04-30T23:29:37.413 回答