自学内容网 自学内容网

【PyQt】pyqt进行封装程序为exe文件

@[toc]pyqt进行封装程序为exe文件

pyqt进行封装程序为exe文件

将 PyQt 程序打包为可执行文件(.exe)可以使用 PyInstaller 工具。PyInstaller 是一个流行的 Python 打包工具,能够将 Python 脚本及其依赖项打包为独立的可执行文件。以下是详细步骤:

1.安装 PyInstaller

首先,确保你已经安装了 PyInstaller。如果没有安装,可以使用 pip 安装:

pip install pyinstaller

2. 编写 PyQt 程序

假设你的 PyQt 程序文件名为 my_app.py,内容如下:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("My PyQt App")
        self.setGeometry(100, 100, 300, 200)

        button = QPushButton("Click Me", self)
        button.setGeometry(100, 50, 100, 30)
        button.clicked.connect(self.on_button_click)

    def on_button_click(self):
        print("Button clicked!")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

3. 使用 PyInstaller 打包程序

在命令行中运行以下命令,将 my_app.py 打包为 .exe 文件:

pyinstaller --onefile --windowed my_app.py

参数说明:
–onefile:将所有文件打包为一个单独的 .exe 文件。

–windowed:禁止显示命令行窗口(适用于 GUI 程序)。

my_app.py:你的 PyQt 程序入口文件。

4. 查找生成的 .exe 文件

打包完成后,生成的 .exe 文件会位于 dist 目录中。例如:

dist/
  my_app.exe

可以直接运行 my_app.exe。

添加图标

1.在程序中加载图标

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
from PyQt5.QtGui import QIcon

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("My PyQt App")
        self.setGeometry(100, 100, 300, 200)
        self.setWindowIcon(QIcon('icon.png'))  # 加载图标文件

        button = QPushButton("Click Me", self)
        button.setGeometry(100, 50, 100, 30)
        button.clicked.connect(self.on_button_click)

    def on_button_click(self):
        print("Button clicked!")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

2.将图标文件放在与主程序同一目录下进行打包

在这里插入图片描述

3.打包程序

pyinstaller --onefile --windowed my_app.py

4.将图像放在dist中与与exe文件同一目录

在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_59422604/article/details/145048745

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!