PYQT5学习与开发

PYQT5 (4)之QSystemTrayIcon实现窗口最小化

2018-12-23  本文已影响402人  弗兰克万岁
from PyQt5 import QtGui

from PyQt5.QtWidgets import QSystemTrayIcon


class MyTray(QSystemTrayIcon):
    def __init__(self):
        super().__init__()
        try:
            self.setIcon(QtGui.QIcon('icon/car.png'))
            self.activated.connect(self.iconClicked)
        except Exception as e:
            print(e)
    def bind(self,window):
        self.parent_window=window
    def test(self):
        try:
            self.parent_window.show()
        except Exception as e:
            print(e)

    def iconClicked(self,reason):
    #鼠标点击icon传递的信号会带有一个整形的值,1是表示单击右键,2是双击,3是单击左键,4是用鼠标中键点击"
        print('click')
        if reason == 2 :#2是双击
            self.test()

加一段添加二级菜单的功能,暂未试验过


    def showMenu(self):
        "设计托盘的菜单,这里我实现了一个二级菜单"
        self.menu = QMenu()
        self.menu1 = QMenu()
        self.showAction1 = QAction("显示消息1", self, triggered=self.showM)
        self.showAction2 = QAction("显示消息2", self,triggered=self.showM)
        self.quitAction = QAction("退出", self, triggered=self.quit)

        self.menu1.addAction(self.showAction1)
        self.menu1.addAction(self.showAction2)
        self.menu.addMenu(self.menu1, )

        self.menu.addAction(self.showAction1)
        self.menu.addAction(self.showAction2)
        self.menu.addAction(self.quitAction)
        self.menu1.setTitle("二级菜单")
        self.setContextMenu(self.menu)
上一篇下一篇

猜你喜欢

热点阅读