Maison interface Web js tutoriel Outil de démarrage de script de barre de notification écrit en Python

Outil de démarrage de script de barre de notification écrit en Python

Mar 12, 2018 pm 03:35 PM
python 启动 脚本

这次给大家带来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(&#39;窗体标题&#39;)        # self.show()#<====显示窗体
        # self.hide()#<====隐藏窗体
        # 默认不显示窗体        
    # 重写窗体关闭事件,让其点击关闭时隐藏
    def closeEvent(self, event):        if self.trayIcon.isVisible():            self.trayIcon.hide()if name == &#39;main&#39;:
    app = QApplication(sys.argv)
    ex = main()
    sys.exit(app.exec_())
Copier après la connexion

效果:

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

################ conf.pyw ################import osimport timedef PrScrn():#调用 dll示例
    time.sleep(0.5)
    os.popen(&#39;rundll32 .\\script\\截图\\PrScrn.dll PrScrn&#39;)def Open360Wifi():#打开应用程序示例
    os.popen(&#39;"C:\\Program Files (x86)\\360\\360AP\\360AP.exe" /menufree&#39;)def OpenRegedit():#调用 命令示例
    os.popen(&#39;regedit&#39;)def Ifconfig():
    os.system(&#39;&#39;&#39;ipconfig & pause&#39;&#39;&#39;)
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"}
]
Copier après la connexion

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 == &#39;main&#39;:
    app = QApplication(sys.argv)
    ex = main()
    sys.exit(app.exec_())
Copier après la connexion

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 &#39;icon&#39; in itm.keys():
                itm["icon"] = None            if not &#39;event&#39; in itm.keys():
                itm["event"] = self.show            if not &#39;hot&#39; in itm.keys():
                itm["hot"] = &#39;None&#39; 
            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()   #省略.....
 #省略.....
Copier après la connexion

Outil de démarrage de script de barre de notification écrit en Python

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

相关阅读:

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Comment est la prise en charge du GPU pour Pytorch sur Centos Comment est la prise en charge du GPU pour Pytorch sur Centos Apr 14, 2025 pm 06:48 PM

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Explication détaillée du principe docker Explication détaillée du principe docker Apr 14, 2025 pm 11:57 PM

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Comment entraîner le modèle Pytorch sur Centos Comment entraîner le modèle Pytorch sur Centos Apr 14, 2025 pm 03:03 PM

Une formation efficace des modèles Pytorch sur les systèmes CentOS nécessite des étapes, et cet article fournira des guides détaillés. 1. Préparation de l'environnement: Installation de Python et de dépendance: le système CentOS préinstalle généralement Python, mais la version peut être plus ancienne. Il est recommandé d'utiliser YUM ou DNF pour installer Python 3 et Mettez PIP: sudoyuMupDatePython3 (ou sudodnfupdatepython3), pip3install-upradepip. CUDA et CUDNN (accélération GPU): Si vous utilisez Nvidiagpu, vous devez installer Cudatool

Python vs JavaScript: communauté, bibliothèques et ressources Python vs JavaScript: communauté, bibliothèques et ressources Apr 15, 2025 am 12:16 AM

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Comment choisir la version Pytorch sous Centos Comment choisir la version Pytorch sous Centos Apr 14, 2025 pm 02:51 PM

Lors de la sélection d'une version Pytorch sous CentOS, les facteurs clés suivants doivent être pris en compte: 1. CUDA Version Compatibilité GPU Prise en charge: si vous avez NVIDIA GPU et que vous souhaitez utiliser l'accélération GPU, vous devez choisir Pytorch qui prend en charge la version CUDA correspondante. Vous pouvez afficher la version CUDA prise en charge en exécutant la commande nvidia-SMI. Version CPU: Si vous n'avez pas de GPU ou que vous ne souhaitez pas utiliser de GPU, vous pouvez choisir une version CPU de Pytorch. 2. Version Python Pytorch

Comment faire le prétraitement des données avec Pytorch sur CentOS Comment faire le prétraitement des données avec Pytorch sur CentOS Apr 14, 2025 pm 02:15 PM

Traitez efficacement les données Pytorch sur le système CentOS, les étapes suivantes sont requises: Installation de dépendance: Mettez d'abord à jour le système et installez Python3 et PIP: sudoyuMupdate-anduhuminstallpython3-ysudoyuminstallpython3-pip-y, téléchargez et installez Cudatoolkit et Cudnn à partir du site officiel de Nvidia selon votre version de Centos et GPU. Configuration de l'environnement virtuel (recommandé): utilisez conda pour créer et activer un nouvel environnement virtuel, par exemple: condacreate-n

Comment installer nginx dans Centos Comment installer nginx dans Centos Apr 14, 2025 pm 08:06 PM

CENTOS L'installation de Nginx nécessite de suivre les étapes suivantes: Installation de dépendances telles que les outils de développement, le devet PCRE et l'OpenSSL. Téléchargez le package de code source Nginx, dézippez-le et compilez-le et installez-le, et spécifiez le chemin d'installation AS / USR / LOCAL / NGINX. Créez des utilisateurs et des groupes d'utilisateurs de Nginx et définissez les autorisations. Modifiez le fichier de configuration nginx.conf et configurez le port d'écoute et le nom de domaine / adresse IP. Démarrez le service Nginx. Les erreurs communes doivent être prêtées à prêter attention, telles que les problèmes de dépendance, les conflits de port et les erreurs de fichiers de configuration. L'optimisation des performances doit être ajustée en fonction de la situation spécifique, comme l'activation du cache et l'ajustement du nombre de processus de travail.

See all articles