本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于云+社区,作者 用户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:python372pythonw.exe" "D:\QQPCMgrDesktopPytho高效编程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网络安全工具箱界面_Python开发案例:设计启动工具箱,显示图形界面的方式...相关推荐

  1. python网络安全工具箱界面,Python开发案例:设计启动工具箱,显示图形界面的方式...

    Python开发案例:设计启动工具箱,显示图形界面的方式 Python开发案例:设计启动工具箱,显示图形界面的方式 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有 ...

  2. python设计图形界面执行exe程序_Python开发案例:设计启动工具箱,显示图形界面的方式...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 用户2870857 转载地址 https://bl ...

  3. python项目主界面_python项目案例

    #_*_ coding:utf-8 _*_ import re #导入正则表达式模块 import os #导入操作系统模块 filename= "students.txt" #定 ...

  4. python制作软件界面_python界面设计工具Qtdesigner

    QtDesigner Qtdesigner是python中的界面设计工具.创建的界面保存为ui类型的文件,再用Pyuic工具把UI界面文件转化为py代码. 安装PyQt5-tools 先要安装pyqt ...

  5. python软件运行界面_python运行界面 python的图形用户界面怎么运行

    为什么用Python开发界面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植. 2)Py ...

  6. python 通用数据库类型_Python开发基础之Python常用的数据类型

    博文大纲 一.Python介绍 二.Python的变量 三.Python常用的数据类型 1.数字 2.字符串 3.元组 4.列表 5.字典 一.Python介绍 Python是一种动态解释型的编程语言 ...

  7. 用python画apc图_Python开发GUI实战:图片转换素描画工具!

    奋斗没有终点好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ! 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己继 ...

  8. python制作窗口界面_python爬虫如何制作可视化界面?(pyqt5环境配置篇)

    却道天凉好个秋~ pyqt5+python+qtdesigner+pycharm制作一个可视化的GUI爬虫工具 前言: 最近闲来无聊又开始了py之路,这次需要的是制作一个贴吧的关键词搜索相关帖子的工具 ...

  9. python编辑器是什么_python开发用什么编辑器

    如果你想做得好,你必须首先提高工具.据估计,大部分pythoners开始python从python IDE.有许多python IDE工具,但这是一个艰巨的任务选择一个IDE使用.您可以使用最基本的文 ...

最新文章

  1. 两步完成项目定时启动,java项目定时启动
  2. 高级运维工程师证书_高级装配式工程师证书有什么用?
  3. win10控制视频声音大小
  4. CNN常用卷积方法一览
  5. CSS块级元素、内联元素概念
  6. Linux上开启TUN
  7. 原来AI也可以如此简单!教你从0到1开发开源知识问答机器人
  8. c# 类似于QQ表情弹出框功能的二种实现方法
  9. Arduino循迹小车教程三----测试小车篇
  10. MT7621路由器芯片/处理器参数介绍
  11. java枚举类的作用及其使用
  12. 入驻shopee平台后,选择哪一个站点作为首站?
  13. jsp酒店客房预订系统带前端
  14. 学而思的python课怎么样_学而思老师怎么样?上课效果好吗?
  15. C#如何快速释放内存的大数组详解
  16. html5 video断点续播,vue-video-player 断点续播的实现
  17. OSChina 周五乱弹 ——程序员会喜欢的 12 款键盘
  18. How2jcn全站百度云
  19. 微信截屏分享、图片压缩处理!
  20. 自由下落距离的计算(1019)

热门文章

  1. 学VBSCRIPT从学起
  2. python 之路,200行Python代码写了个打飞机游戏!
  3. 30秒解决电脑越用越卡的大众常见难题
  4. 下班啦!做那么多老板不会心疼你的
  5. 第二十节:一个缺失已久的特性 — module模块
  6. python globals() 动态函数调用_[Python] 动态函数调用(通过函数名)
  7. sqlserver两个日期之间的年数_SQL语句计算两个日期之间有多少个工作日的方法
  8. sklearn.model_selection中train_test_split的坑
  9. 送书|science-组合图表绘制
  10. 省选+NOI 第五部分 高级数据结构