Я хотел бы знать, как это сделать в python / Pyside2:
Создать QSystemTrayIcon с пользовательским значком, в котором:
Если я нажму левую кнопкуна нем я делаю произвольное действие (просто напечатайте «нажатие левой кнопки мыши»).Меню не должно отображаться ...
Если я щелкну на нем правой кнопкой мыши, появится контекстное меню с действием выхода, чтобы закрыть программу.
В MacOS , возможно, не в win и не в linux, меню просто открывается при нажатии мыши ... Поэтому в противном случае нужно различать левый и правый щелчкиоба действия будут выполнены с левой и правой кнопкой мыши.См. Примечание здесь: В macOS ... поскольку меню открывается при нажатии мыши, нажмите
Мне нужна помощь, просто введя различия между левым и правым щелчком в следующем коде:
from PySide2 import QtWidgets
import sys
class SystrayLauncher(object):
def __init__(self):
w = QtWidgets.QWidget() #just to get the style(), haven't seen other way
icon = w.style().standardIcon(QtWidgets.QStyle.SP_MessageBoxInformation)
self.tray = QtWidgets.QSystemTrayIcon()
self.tray.setIcon(icon)
self.tray.setVisible(True)
self.tray.activated.connect(self.customAction)
# I JUST WANT TO SEE THE MENU WHEN RIGHT CLICK...
self.trayIconMenu = QtWidgets.QMenu()
self.quitAction = QtWidgets.QAction("&Quit", None, triggered=QtWidgets.QApplication.instance().quit)
self.trayIconMenu.addAction(self.quitAction)
self.tray.setContextMenu(self.trayIconMenu)
# JUST WANNA USE THE ACTION WITH LEFT CLICK
def customAction(self, signal):
print "left click pressed"
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setQuitOnLastWindowClosed(False)
sl = SystrayLauncher()
sys.exit(app.exec_())
Кто-нибудь может мне помочь, пожалуйста?