python开发PC端桌面应用
项目场景:
很多情况下需要用很短的时间开发一款在windows上离线运行的小工具,以便解决一些现实问题。比如公司近期有个紧急项目,需要根据算法需求人工标注海量的地址信息,开发周期和工具易用性上都是有些挑战的,此时选择python开发是个明智的选择。 下面对python开发桌面应用工具的步骤做下总结。
开发环境准备
python开发我选择在Pycharm 上进行,新建工程,配置解释器及venv,这些跟普通的python项目开发一样。
安装PyQt5及PyQt5-tools:
pip3 install PyQt5
pip3 install PyQt5-tools
可以将PyUIC和Qt Designer两个工具添加到pycharm中,或者找到安装位置、直接命令行运行。
开发步骤:
GUI开发
打开PyQt Designer,根据需求确定好的GUI,在PyQt Designer上实现,并保存,文件保存格式为.ui。
designer安装路径:
F:\Python36\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
2 . UI转换成python文件
python -m PyQt5.uic.pyuic mainWindow.ui -o mainWindow.py
3 . 开发业务功能
将上面转换好的gui python文件放入工程目录下,新建文件开发业务功能。
from lib.mainWindow import Ui_MainWindow
from PyQt5.Qt import *class MyWindow(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MyWindow, self).__init__(parent)self.setupUi(self)# 一些信号槽事件self.actioncheck.triggered.connect(self.check)self.pushButton_start.clicked.connect(self.start)# 其它业务功能此处省略
if __name__ == '__main__':app = QApplication(sys.argv)show = MyWindow()show.show()sys.exit(app.exec_())
4 . 打包成exe
pyinstaller -w -F label_poi.py --windowed -p “G:\2020\POI查询\标注工具\poi\lib”
在打包过程中遇到问题:找不到PyQt相关的库,推测应该是pyinstaller对环境变量获取存在异常。解决办法在代码中加入环境变量:
import os
import sys
if hasattr(sys, 'frozen'):os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
软件可以正常打开,测试功能。
小结:
该文档可作为python开发桌面小工具的模板流程,文中工具开发周期仅两天,基本满足功能需求。如若能给看到此文的你,带来哪怕一点点帮助,寡人也会倍感欣慰!
python开发PC端桌面应用相关推荐
- JAVA 开发pc端桌面软件 基于idea+javafx+maven+springboot
前言:本文只介绍IntelliJ IDEA环境下如何搭建javafx+maven+spring的开发环境和一些必要的知识点,javafx详细开发不在此范畴 项目源码:https://github.co ...
- pygame开发PC端微信打飞机游戏
pygame开发PC端微信打飞机游戏 一.项目简介1. 介绍本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件game ...
- 基于QT开发PC端文件加密工具
基于QT开发PC端文件加密工具 1.客户需求 某案子.该方案,通过外挂TF卡实现,本地教育资源的调取使用.按客户需求,把TF卡内的内容进行加密,并在软件中写好解密,确保资源文件只能在教育机中才能正常播 ...
- 【Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )
文章目录 前言 一.网络初始化操作 二.PC 端工程核心业务逻辑 三.博客资源 前言 本篇博客重点分析 PC 端 hacktool 模块 ; 一.网络初始化操作 HackCommand::Prepar ...
- PC端桌面倒计时提醒软件
对于很多上班族来说,每天接受的工作任务不仅有今天或明天就需要完成的,还有一些工作任务是需要在未来一段时间内完成的,只要在最后的截止时间上交这项工作就可以了.这时候我们不仅需要一款能够定时提醒事情的软件 ...
- uniapp宽屏开发PC端方案,及衍生问题解决
需要在uniapp的pages.json文件中配置 "rpxCalcMaxDeviceWidth": 3840, // rpx 计算所支持的最大设备宽度,单位 px,默认值为 96 ...
- python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- cocos creator开发pc端的浏览器适配问题
因为pc浏览器端不比手机端,手机分辨率除了ipad等特别的,一般只需要把背景图拉宽或者拉高一些,就能保证不留黑边,pc端浏览器可以随便拉,但是一般为了效果,浏览器界面再拉也不允许留黑边的,可以试试其他 ...
- eel+python 开发html5跨平台桌面应用1
eel 是非常轻量级的,依赖于本身安装的chrome或者chromium浏览器,所以比较灵活,不像其他cef python等内置浏览器.另外满足js和python交互的功能,所以开发一个桌面系统非常轻 ...
最新文章
- 【计算理论】下推自动机 PDA 及 计算示例
- 使用Spring进行不同开发所需要用到的包
- DCN RepPoints解读
- 图像局部显著性—点特征(Fast)
- 清华大学 张春良 计算机系,南京张春良老师小学生信息学辅导
- python+splinter实现12306网站刷票并自动购票流程
- what is callback?
- jflash烧录教程_3.烧录方式及烧录软件的使用
- Android测速代码,Android应用测速组件实现原理
- PPT~PPT修改行间距磅值
- 全球最强大脑在哪里?阿里小蜜算法团队在寻找
- Android SDCard中写入文件
- 《活出生命的意义》读后感
- 【综合类型第 35 篇】程序员的七夕浪漫时刻
- krpano相关笔记
- ChatGPT如何注册使用(解决国外手机号验证码问题)
- mmm monitor mysql_MySQL(MMM架构使用)
- 都说IT行业饱和了,2023年成为程序员还有发展前景吗?
- 踔厉奋发,笃行不怠 润和软件 HiHope 2021 OpenHarmony大事记
- 记录自己的python成长路程