gulite_1234 2023-02-24 23:42 采纳率: 100%
浏览 21
已结题

如何打包.py文件于.ui文件

如何打包.py和.ui文件为exe运行,我运用以下代码调用.ui文件

img


如何打包allmain.py文件并且此代码self.ui = uic.loadUi("./progarm.ui")可以被正常调用。

img

  • 写回答

3条回答 默认 最新

  • 菜鸟才能学的更多 2023-02-25 01:18
    关注

    要将Python程序打包成可执行文件,并且能够调用UI文件,可以使用PyInstaller.

    1. 首先,确保已经安装了PyInstaller。如果没有安装,可以在终端中运行以下命令进行安装:

      pip install pyinstaller
      
    2. 然后,在终端中进入程序所在的目录,并运行以下命令:

      pyinstaller allmain.py --onefile --windowed
      

      这将使用PyInstaller将程序打包成单个可执行文件,并以窗口模式运行。

    3. 打包完成后,在生成的dist目录中可以找到可执行文件。如果程序需要使用UI文件,则需要将UI文件复制到与可执行文件相同的目录中。

    4. 在程序中加载UI文件时,需要使用UI文件的绝对路径,而不是相对路径。例如,如果UI文件名为“program.ui”,则可以使用以下代码加载UI文件:

    import os
    from PyQt5 import QtWidgets, uic
    
    class MyApp(QtWidgets.QMainWindow):
        def __init__(self):
            super().__init__()
            # 获取UI文件的绝对路径
            ui_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), "program.ui")
            # 加载UI文件
            self.ui = uic.loadUi(ui_file, self)
    

    这样,程序就可以在打包后的可执行文件中正常加载UI文件了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 创建了问题 2月24日

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan