项目场景:

很多情况下需要用很短的时间开发一款在windows上离线运行的小工具,以便解决一些现实问题。比如公司近期有个紧急项目,需要根据算法需求人工标注海量的地址信息,开发周期和工具易用性上都是有些挑战的,此时选择python开发是个明智的选择。 下面对python开发桌面应用工具的步骤做下总结。


开发环境准备

python开发我选择在Pycharm 上进行,新建工程,配置解释器及venv,这些跟普通的python项目开发一样。
安装PyQt5及PyQt5-tools:

pip3 install PyQt5
pip3 install PyQt5-tools

可以将PyUIC和Qt Designer两个工具添加到pycharm中,或者找到安装位置、直接命令行运行。


开发步骤:

  1. 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端桌面应用相关推荐

  1. JAVA 开发pc端桌面软件 基于idea+javafx+maven+springboot

    前言:本文只介绍IntelliJ IDEA环境下如何搭建javafx+maven+spring的开发环境和一些必要的知识点,javafx详细开发不在此范畴 项目源码:https://github.co ...

  2. pygame开发PC端微信打飞机游戏

    pygame开发PC端微信打飞机游戏  一.项目简介1. 介绍本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件game ...

  3. 基于QT开发PC端文件加密工具

    基于QT开发PC端文件加密工具 1.客户需求 某案子.该方案,通过外挂TF卡实现,本地教育资源的调取使用.按客户需求,把TF卡内的内容进行加密,并在软件中写好解密,确保资源文件只能在教育机中才能正常播 ...

  4. 【Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )

    文章目录 前言 一.网络初始化操作 二.PC 端工程核心业务逻辑 三.博客资源 前言 本篇博客重点分析 PC 端 hacktool 模块 ; 一.网络初始化操作 HackCommand::Prepar ...

  5. PC端桌面倒计时提醒软件

    对于很多上班族来说,每天接受的工作任务不仅有今天或明天就需要完成的,还有一些工作任务是需要在未来一段时间内完成的,只要在最后的截止时间上交这项工作就可以了.这时候我们不仅需要一款能够定时提醒事情的软件 ...

  6. uniapp宽屏开发PC端方案,及衍生问题解决

    需要在uniapp的pages.json文件中配置 "rpxCalcMaxDeviceWidth": 3840, // rpx 计算所支持的最大设备宽度,单位 px,默认值为 96 ...

  7. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  8. cocos creator开发pc端的浏览器适配问题

    因为pc浏览器端不比手机端,手机分辨率除了ipad等特别的,一般只需要把背景图拉宽或者拉高一些,就能保证不留黑边,pc端浏览器可以随便拉,但是一般为了效果,浏览器界面再拉也不允许留黑边的,可以试试其他 ...

  9. eel+python 开发html5跨平台桌面应用1

    eel 是非常轻量级的,依赖于本身安装的chrome或者chromium浏览器,所以比较灵活,不像其他cef python等内置浏览器.另外满足js和python交互的功能,所以开发一个桌面系统非常轻 ...

最新文章

  1. 【计算理论】下推自动机 PDA 及 计算示例
  2. 使用Spring进行不同开发所需要用到的包
  3. DCN RepPoints解读
  4. 图像局部显著性—点特征(Fast)
  5. 清华大学 张春良 计算机系,南京张春良老师小学生信息学辅导
  6. python+splinter实现12306网站刷票并自动购票流程
  7. what is callback?
  8. jflash烧录教程_3.烧录方式及烧录软件的使用
  9. Android测速代码,Android应用测速组件实现原理
  10. PPT~PPT修改行间距磅值
  11. 全球最强大脑在哪里?阿里小蜜算法团队在寻找
  12. Android SDCard中写入文件
  13. 《活出生命的意义》读后感
  14. 【综合类型第 35 篇】程序员的七夕浪漫时刻
  15. krpano相关笔记
  16. ChatGPT如何注册使用(解决国外手机号验证码问题)
  17. mmm monitor mysql_MySQL(MMM架构使用)
  18. 都说IT行业饱和了,2023年成为程序员还有发展前景吗?
  19. 踔厉奋发,笃行不怠 润和软件 HiHope 2021 OpenHarmony大事记
  20. 记录自己的python成长路程

热门文章

  1. EasyExcel导入、导出合并单元格excel文件
  2. WinSCP(SFTP客户端) v5.13.3中文版
  3. 【愚公系列】2022年11月 uniapp专题-优购电商-个人中心页面
  4. 第五天学习--存储结构与磁盘划分
  5. 商品详情页实现价格区间价
  6. c语言读取ascii文件,C++对ASCII文件的读写操作
  7. 三防产品外观设计要点
  8. 怎样增加图片的大小,不是尺寸哦!
  9. 数据分析 第六讲 pandas
  10. Node.js 小白入门课3-设置基本数据库