Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import subprocess
- from PyQt5 import QtCore, QtGui, QtWidgets
- from PyQt5.QtGui import QIcon
- # code source: https://stackoverflow.com/questions/893984/pyqt-show-menu-in-a-system-tray-application - add answer PyQt5
- #PyQt4 to PyQt5 version: https://stackoverflow.com/questions/20749819/pyqt5-failing-import-of-qtgui
- class SystemTrayIcon(QtWidgets.QSystemTrayIcon):
- def __init__(self, icon, parent=None):
- QtWidgets.QSystemTrayIcon.__init__(self, icon, parent)
- menu = QtWidgets.QMenu(parent)
- runAction = menu.addAction("Жопа (c иконкой)") # 1 команда
- runAction.setIcon(QIcon("/usr/share/icons/breeze-dark/applets/64/osd-rotate-flip.svg"))
- runAction.triggered.connect(self.run) # 1 команда
- exitAction = menu.addAction("Exit")
- exitAction.triggered.connect(self.exit)
- self.setContextMenu(menu)
- self.activated.connect(self.showMenuOnTrigger)
- def run(self): # 1 команда
- subprocess.run(["/home/kot/bin/script/monitorbr0.sh"]) # 1 команда
- def exit(self):
- QtCore.QCoreApplication.exit()
- def showMenuOnTrigger(self, reason):
- if reason == QtWidgets.QSystemTrayIcon.Trigger:
- self.contextMenu().popup(QtGui.QCursor.pos())
- def main(image):
- app = QtWidgets.QApplication(sys.argv)
- w = QtWidgets.QWidget()
- trayIcon = SystemTrayIcon(QtGui.QIcon(image), w)
- trayIcon.show()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- on=r'/usr/share/icons/breeze-dark/applets/48/weather-few-clouds-night.svg' # ADD PATH OF YOUR ICON HERE .png works
- main(on)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement