乐趣区

关于python:PyQt5-最小化到托盘升级小闹钟

【浏览全文】

将之前写的小闹钟包装一下,让其最小化到托盘后盾运行。闹钟自身是一个监听程序,若是始终放在任务栏不小心点掉了就很麻烦。

所以阐明一下托盘的应用办法,这里以之前的小闹钟案例为例,没有的到我的公众号内 ’PyQt5 UI’ 的菜单去查看,或者号内间接回复‘小闹钟’获取源码即可。

须要获取降级当前的源代码在文末获取下载链接。

最小化到托盘,应用这个 PyQt5 模块就够用了。

from PyQt5.QtWidgets import *

首先不论其余的,先创立一个类实现托盘性能,最初将托盘性能融入到小闹钟的源代码外面利用就成了。

class TrayModel(QSystemTrayIcon):
    def __init__(self, Window):
        super(TrayModel, self).__init__()
        self.window = Window
        self.init_ui()

    def init_ui(self):
        # 初始化菜单
        self.menu = QMenu()

        self.manage_action = QAction('小闹钟设置', self, triggered=self.manage_clock)
        self.quit_action = QAction('退出利用', self, triggered=self.quit_clock)

        self.menu.addAction(self.manage_action)
        self.menu.addAction(self.quit_action)

        self.setContextMenu(self.menu)

        self.setIcon(QIcon('clock.ico'))
        self.icon = self.MessageIcon()

        self.activated.connect(self.app_click)

    def manage_clock(self):
        self.window.showNormal()
        self.window.activateWindow()

    def quit_clock(self):
        qApp.quit()

    def app_click(self, reason):
        pass

单击鼠标右键时会呈现两个菜单按钮,别离是 ’ 小闹钟设置 ’、’ 退出利用 ’。只有在托盘中抉择退出利用时,小闹钟程序才会真正的进行运行。

应用时在原有的小闹钟利用的 init_ui() 函数中调用一下 TrayModel 这个类就成了。

self.tray = TrayModel(self)

最初,为了使点击小闹钟利用的主窗口时避免利用退出须要重写一下这个函数。

def closeEvent(self, a0: QCloseEvent) -> None:
    a0.ignore()
    self.hide()
    self.tray.show()

整合下面这些就实现了小闹钟的托盘化降级革新。

公众号内回复 ” 降级小闹钟 ” 获取降级当前的小闹钟间接运行就能够了。

我是 [Python 集中营]、很快乐您看到了最初,我是一个专一于 Python 常识分享的公众号,心愿能够失去您的关注~

【往期精彩】

pyinstaller 打包 exe 文件太大,利用 pipenv 轻松解决!

PyQt5 小工具:Excel 数据分组汇总器 …

异样:存储 MYSQL 本义数据保证数据存储的准确性 …

做一个小闹钟,按布局做事 …

应用 pyqt5 的日期控件做一个小日历不便查看 …

退出移动版