日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具

發布時間:2024/9/27 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著自己編寫的腳本與安裝的工具越來越多,電腦的桌面和文件夾也越來越亂了。

就在前幾天因為一個不小心,我把自己的一個項目給刪了,所以決定將電腦整理一下。

不過這一整理我很多腳本和工具的位置我就忘記了,所以決定寫個小工具來快速啟動一些常用的腳本或工具

這里選擇Python是因為Python跨平臺,這樣我的Linux電腦也可以用了,而且簡單。

注意:教程使用python3與PyQt5來編寫

如果你用的是Python2.7可以借鑒本教程使用PyQt4來編寫

1.準備

首先

安裝PyQt5

pip3 install PyQt5

然后創建目錄

新建一個文件夾用于存放項目

文件夾示例結構如下:

/main #主文件夾 名字自定義

├─main.pyw #主啟動程序

├─conf.py #用于自定義菜單配置

├─/icons #用于存放圖標 文件夾

└─/scripts #用于存放腳本 文件夾 可以省略

.pyw后綴的文件是指窗體應用程序默認是Python環境變量目錄下的pythonw.exe文件如果打開方式是控制臺程序,需要手動指定打開方式

2.代碼

2.1.我們來創建個通知欄顯示:

##############

## main.pyw ##

##############

from PyQt5.QtWidgets import QDialog, QSystemTrayIcon, QMenu ,QAction,QApplication

from PyQt5.QtGui import QIcon

import sys

class 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 os

import time

def 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,QApplication

from PyQt5.QtGui import QIcon

import sys

import conf#<====導入conf

class 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 conf

class 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()

#省略.....

#省略.....

效果:

好了教程就到這里如果你是想開機自啟的話可以將main.pyw創建快捷方式放入啟動文件夾中

比如Windows10位置一般在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

完整代碼在鏈接: https://pan.baidu.com/s/1mjBbpnM 密碼: x6dr

關于截圖可以參考:windows下實現快捷鍵截圖小工具

順便推薦另外一篇文章:windows 測試服務管理工具

總結

以上是生活随笔為你收集整理的python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。