如何在左键单击时在 QSystemTrayIcon 中显示上下文菜单

How to show context menu in QSystemTrayIcon on left click

QSystemTrayIcon Docs

我一直在浏览这个小部件的文档。我有一个工作图标和一个上下文菜单,但是我希望能够在有人左键单击时也显示上下文菜单。这可能吗?

编辑:

当激活原因为QSystemTrayIcon.Trigger时,您可以连接QSystemTrayIcon.activated信号来调用QMenu.popup

import sys
from PySide2.QtWidgets import *
from PySide2.QtGui import *

class TrayIcon(QSystemTrayIcon):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.activated.connect(self.showMenuOnTrigger)

    def showMenuOnTrigger(self, reason):
        if reason == QSystemTrayIcon.Trigger:
            self.contextMenu().popup(QCursor.pos())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    tray = TrayIcon(QIcon('icon.png'))
    menu = QMenu()
    menu.addAction('Action 1')
    menu.addAction('Action 2')
    tray.setContextMenu(menu)
    tray.show()
    sys.exit(app.exec_())