最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python编写的通知栏脚本启动工具

来源:动视网 责编:小采 时间:2020-11-27 20:01:15
文档

Python编写的通知栏脚本启动工具

Python编写的通知栏脚本启动工具:这次给大家带来Python编写的通知栏脚本启动工具,Python编写通知栏脚本启动工具的注意事项有哪些,下面就是实战案例,一起来看一下。首先安装PyQt5pip3 install PyQt5然后创建目录新建一个文件夹用于存放项目文件夹示例结构如下:/main #主文件夹 名
推荐度:
导读Python编写的通知栏脚本启动工具:这次给大家带来Python编写的通知栏脚本启动工具,Python编写通知栏脚本启动工具的注意事项有哪些,下面就是实战案例,一起来看一下。首先安装PyQt5pip3 install PyQt5然后创建目录新建一个文件夹用于存放项目文件夹示例结构如下:/main #主文件夹 名
 这次给大家带来Python编写的通知栏脚本启动工具,Python编写通知栏脚本启动工具的注意事项有哪些,下面就是实战案例,一起来看一下。

首先

安装PyQt5

pip3 install PyQt5

然后创建目录

新建一个文件夹用于存放项目
文件夹示例结构如下:

/main #主文件夹 名字自定义├─main.pyw #主启动程序├─conf.py #用于自定义菜单配置├─/icons #用于存放图标 文件夹└─/scripts #用于存放脚本 文件夹 可以省略

.pyw后缀的文件是指窗体应用程序默认是Python环境变量目录下的pythonw.exe文件如果打开方式是控制台程序,需要手动指定打开方式

关于图标可以前往http://www.iconfont.cn/下载

2.代码

2.1.我们来创建个通知栏显示:

################ main.pyw ################from PyQt5.QtWidgets import QDialog, QSystemTrayIcon, QMenu ,QAction,QApplication
from PyQt5.QtGui import QIcon
import sysclass main(QDialog):
 def init(self): super().init() self.loadMenu() self.initUI() def loadMenu(self):
 menuItems = [] # 菜单列表
 menuItems.append({"text": "启动", "icon": "./icons/set.png", "event": self.show, "hot": "D"})
 menuItems.append({"text": "退出", "icon": "./icons/close.png", "event": self.close, "hot": "Q"}) self.trayIconMenu = QMenu(self)# 创建菜单
 #遍历绑定 显示的文字、图标、热键和点击事件
 #热键可能是无效的 我这里只是为了显示效果而已
 for i in menuItems: 
 tmp = QAction(QIcon(i["icon"]), i["text"],self, triggered=i["event"])
 tmp.setShortcut(self.tr(i["hot"])) self.trayIconMenu.addAction(tmp) 
 def initUI(self): self.trayIcon = QSystemTrayIcon(self) # <===创建通知栏托盘图标
 self.trayIcon.setIcon(QIcon("./icons/menu2.png"))#<===设置托盘图标
 self.trayIcon.setContextMenu(self.trayIconMenu)#<===创建右键连接菜单
 self.trayIcon.show()#<====显示托盘
 self.setWindowIcon(QIcon("./icons/menu2.png")) #<===设置窗体图标
 self.setGeometry(300, 300, 180, 300) # <===设置窗体打开位置与宽高
 self.setWindowTitle('窗体标题') # self.show()#<====显示窗体
 # self.hide()#<====隐藏窗体
 # 默认不显示窗体 
 # 重写窗体关闭事件,让其点击关闭时隐藏
 def closeEvent(self, event): if self.trayIcon.isVisible(): self.trayIcon.hide()if name == 'main':
 app = QApplication(sys.argv)
 ex = main()
 sys.exit(app.exec_())

效果:

2.2.如果通知栏显示成功后接下来的配置就十分简单了,只是绑定显示与事件就行了

################ conf.pyw ################import osimport timedef PrScrn():#调用 dll示例
 time.sleep(0.5)
 os.popen('rundll32 .\\script\\截图\\PrScrn.dll PrScrn')def Open360Wifi():#打开应用程序示例
 os.popen('"C:\\Program Files (x86)\\360\\360AP\\360AP.exe" /menufree')def OpenRegedit():#调用 命令示例
 os.popen('regedit')def Ifconfig():
 os.system('''ipconfig & pause''')
menuItems=[ #.....示例....
 {"text":"截图","icon":"./icons/cut.png","event":PrScrn,"hot":"Alt+P"},
 {"text":"360Wifi","icon":"./icons/wifi.png","event":Open360Wifi,"hot":"Alt+W"},
 {"text":"注册表","icon":"./icons/regedit.png","event":OpenRegedit,"hot":"Alt+R"},
 {"text":"ifconfig","icon":"./icons/ip.png","event":Ifconfig,"hot":"Alt+R"}
]

2.3.读取配置并显示
读取十分简单:

from PyQt5.QtWidgets import QDialog, QSystemTrayIcon, QMenu ,QAction,QApplicationfrom PyQt5.QtGui import QIconimport sysimport conf#<====导入confclass main(QDialog):
 def init(self):
 super().init()
 self.loadMenu()
 self.initUI() def loadMenu(self):
 menuItems =conf.menuItems #<=====菜单列表
 #....略
 #....略if name == 'main':
 app = QApplication(sys.argv)
 ex = main()
 sys.exit(app.exec_())

2.4.将窗体利用起来
我这里就举个简单的例子:

from PyQt5.QtWidgets import QDialog, QAction, QApplication, QListWidget, QVBoxLayout, QSystemTrayIcon, QMenu, QListWidgetItem
from PyQt5.QtGui import QIcon
import sys
import confclass main(QDialog):
 def init(self): super().init() self.loadMenu() self.initUI() #省略.....
 def loadList(self):
 lv = QListWidget() for i in range(len(conf.menuItems)):
 itm = conf.menuItems[i] if not 'icon' in itm.keys():
 itm["icon"] = None if not 'event' in itm.keys():
 itm["event"] = self.show if not 'hot' in itm.keys():
 itm["hot"] = 'None' 
 qlv = QListWidgetItem(QIcon(itm["icon"]), self.tr(itm["text"]+" ("+itm["hot"]+")"))
 qlv.event = itm["event"] 
 # qlv.clicked.connect(self.close)
 lv.insertItem(i + 1, qlv)
 lv.itemDoubleClicked.connect(self.dbclickItem) self.layout.addWidget(lv) def dbclickItem(self, item):
 item.event() #省略.....
 #省略.....

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

如何使用canvas来制作好用的涂鸦画板

如何使用s-xlsx之合并单元格

文档

Python编写的通知栏脚本启动工具

Python编写的通知栏脚本启动工具:这次给大家带来Python编写的通知栏脚本启动工具,Python编写通知栏脚本启动工具的注意事项有哪些,下面就是实战案例,一起来看一下。首先安装PyQt5pip3 install PyQt5然后创建目录新建一个文件夹用于存放项目文件夹示例结构如下:/main #主文件夹 名
推荐度:
标签: 打开 工具 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top