pyqt5+pyinstaller创建桌面程序

2024-05-25 03:44

本文主要是介绍pyqt5+pyinstaller创建桌面程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要关注于打包桌面程序

PyQt5一些教程

安装必要的库:

import os
pack_list = ["PyQT5","pandas==1.5.3","pyinstaller==6.6.0","openpyxl==3.1.2","pyqt5-tools",
]
# set DS_BUILD_AIO=0
# set DS_BUILD_SPARSE_ATTN=0
for packa in pack_list:# os.system("pip install " + packa + " -i https://pypi.tuna.tsinghua.edu.cn/simple")os.system("pip install " + packa + " -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com")

可以用designer创建UI界面,总之创建好之后就下一步。

按钮绑定函数

假如界面的里面有如下函数:

# 按钮
self.CalcButton1 = QtWidgets.QPushButton(Dialog)
self.CalcButton1.setGeometry(QtCore.QRect(50, 350, 101, 31))
font = QtGui.QFont()
font.setFamily("Adobe Devanagari")
font.setPointSize(9)
self.CalcButton1.setFont(font)
self.CalcButton1.setObjectName("CalcButton1")

在启动类可以通过如下方法绑定:

def __init__(self):super(Main, self).__init__()self.setupUi(self)  # 1self.CalcButton2.clicked.connect(self.calc_inbrcoef)def calc_corrcoef(self):pass

打包exe文件

在命令行先创建spec文件

> pyinstaller -i logo.ico desktopui.py

其中图标可以通过下面代码获得:

from PIL import Image
def png2ico():img = Image.open(r"./softwarelogo.png")# icon_sizes = [(16, 16), (32, 32), (48, 48), (64, 64)]icon_sizes = [(64, 64)]img.save('logo.ico', sizes=icon_sizes)

关于spec文件

只生成了如下内容:

a = Analysis(['desktopui.py',]

需要自己把整个工程下所有用到的代码都写进去,同’desktopui.py’目录的相对路径即可(直接写文件名),有其他目录子目录下的文件写绝对路径。
然后

>pyinstaller desktopui.spec

然后在dist目录下找到exe文件即可。
end

这篇关于pyqt5+pyinstaller创建桌面程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000387

相关文章

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序