python设计图形界面执行exe程序_Python开发案例:设计启动工具箱,显示图形界面的方式...
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
以下文章来源于云+社区,作者 用户2870857
转载地址
https://blog.csdn.net/fei347795790?t=1
Python 自带的方式
第一种方式就是直接改 py 文件后缀为 pyw,这样系统就会自动调用 pythonw.exe 来执行你的程序。这样你就不必忍受黑乎乎的 cmd 窗口,也不会因为关闭了 cmd 窗口连带着关闭了程序。
然后我们可以在桌面新建一个快捷方式,右键在属性里更改图标,这样我们就创建了一个图形界面的快捷启动方式。
批处理文件
第二种方式与第一种类似,也是通过 pythonw.exe 执行 pyw 文件,不过换成了 bat 批处理文件的形式,换汤不换药。
我们新建一个 txt 文件,在其中输入这样两行代码,并将其保存为 .bat 文件。start 后面的第一个字符串表示你的pythonw.exe 文件所在位置,一般在你的 Python 安装目录下面,和 python.exe 在同一目录。第二个字符表示你的 pyw 程序的地址,最好使用绝对地址。
@echo off
start "D:\python372\pythonw.exe" "D:\\QQPCMgr\Desktop\Pytho高效编程\start.pyw"
同样,你可以创建快捷方式,并更改图标。
用 Python 实现启动工具箱
下面,我将演示如何使用 PyQt5 实现一个启动工具箱。
主要实现了以下功能:
通过工具栏可以直接执行 python 程序
九宫格右键保存或者删除快速启动链接
九宫格左键点击显示图形界面
为了方便使用,我们可以把这个软件打包成 exe 文件,或者重命名为 pyw 后缀,并创建快捷方式便于使用。
关键点一:
这个程序的核心思想就是再开一个进程来执行 py 文件,但是此时程序的路径为启动管理器的路径。所以说,如果你要打开的程序,比方说“PDF阅读器”,涉及到了文件路径,一定要使用绝对路径。如果使用了相对路径,必须在你的“PDF阅读器”源代码关于路径的地方加上下面这行代码。下面这行代码把当前路径更改为你的“PDF阅读器”所在目录。
os.chdir(os.path.dirname(os.path.realpath(__file__)))
关键点二:
我们使用 QProcess 来管理进程。首先创建一个 QProcess 对象,调用 startDetched 方法。startDetched 方法可以在主进程之外新开一个进程。也就是说,如果我们打开或者关闭 “PDF阅读器” ,并不影响启动管理器的运行。
from PyQt5.QtCore import QProcess
def open(self): fname = self.get_file() if fname:
process = QProcess() process.startDetached('python', [fname])
关键点三:
重写 Button 按键类以支持右键菜单及一系列操作。
其中 parent 为按钮依附的主程序。
class MyButton(QPushButton):
def __init__(self, parent=None):
super(MyButton, self).__init__(parent)
重写以下功能:
字体大小及样式
支持右键菜单(添加、删除功能)
重写左键点击事件
要保存的按钮信息包括:按钮名称(你设置的应用名称)、按钮对应地址、按钮状态(用于判断按钮有没有绑定地址,如果有的话,不支持修改覆盖名称操作)。
def initUi(self):
# 右键菜单工具栏 addAction = QAction('添加', self)
addAction.triggered.connect(self.add)
delAction = QAction('删除', self)
delAction.triggered.connect(self.delete)
self.addAction(addAction)
self.addAction(delAction)
self.clicked.connect(self.run)
关键点四:
与数据库交互,与上次 500 行代码实现 PDF 阅读器的思想基本相同,增加了上下文管理器,提高代码可读性。
数据库保存的信息,就是关键点三中提到的 button 的属性。
def save2db(start):
with DBManger(starter) as conn:
conn.execute("INSERT INTO starter Values (?,?,?)",
(start.fname, start.name, start.state)) conn.commit()
python设计图形界面执行exe程序_Python开发案例:设计启动工具箱,显示图形界面的方式...相关推荐
- python网络安全工具箱界面,Python开发案例:设计启动工具箱,显示图形界面的方式...
Python开发案例:设计启动工具箱,显示图形界面的方式 Python开发案例:设计启动工具箱,显示图形界面的方式 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有 ...
- python网络安全工具箱界面_Python开发案例:设计启动工具箱,显示图形界面的方式...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 用户2870857 转载地址 https://bl ...
- 用python做一个简单的投票程序_Python——开发一个自动化微信投票器【附代码实例方法】...
一个研究Python实践,最近研究一个投票的东东,主要是想测试利用Python实现刷微信投票. 本文纯粹为了记录一下 webdriver直接操作页面按钮的方法: #!/usr/bin/python # ...
- Python学习:图形界面设计01
写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: Python实现输入电影名字自动生成豆瓣评论词云图 ...
- python打代码运行图形_利用aardio给python编写图形界面
前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...
- python的电脑推荐_推荐8款常用的Python GUI图形界面开发框架
作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...
- python使用界面-推荐8款常用的Python GUI图形界面开发框架
作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...
- python界面-推荐8款常用的Python GUI图形界面开发框架
作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...
- java获取界面输入数字_通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、...
通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加.减.乘. 2016-08-22 0 0 0 4.0 分 其他 1 积分下载 如何获取积分? 通过JAVA设计 ...
最新文章
- 收藏 | 卷积神经网络中用1*1 卷积有什么作用或者好处呢?
- web客户端 http error 413
- Leetcode 144. 二叉树的前序遍历 (每日一题 20210820)
- oem模式是什么_OEM的完整形式是什么?
- 企业会计准则2020版pdf_2020年下半年CATTI三级笔译中译英真题+参考答案+原文件汉英对照PDF版...
- Python模拟决赛现场最终得分计算过程
- Mac Big Sur如何更改锁屏时间
- android手机连接PC后怎样切换为U 盘模式
- mfc 学习的第一天
- 基于ADS54J60的JESD204B调试心得-fanfanStudio
- TortoiseSVN 安装中文语言包,SVN中文语言包
- HIVE一些字符处理
- python基础之温度转换
- CSS样式自动换行(强制换行)
- picked up java_tool_options:_解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。
- Linux课程笔记 硬盘介绍及硬盘分区
- Linux 命令ps aux命令解析
- 【C/C++】在Dos下(Dosbox)编写C/C++程序
- D3 关联关系图 力学图
- 小功率静电保护器与TVS管选型,看完醍醐灌顶
热门文章
- 面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生
- 微信jsapi获取用户地理位置接口开发(第八课)
- VLC Web插件踩坑记录
- 标题: 连接到服务器 ------------------------------ 无法连接到
- 【蓝桥杯单片机组模块】14、STC15定时器2的PWM使用
- 【AI折腾录】stable web ui基础【sd安装、lora vae embedding hyperwork等基础概念】
- 『用英语学英语』英文语法为什么要有独立主格?
- Luogu P1502 窗口的星星 (扫描线)
- Mysql —— 多行/聚合/分组函数 打字练习
- 人生如逆旅,不进则退:HTML5新元素的介绍与使用规范