Почему значок QSystemTrayIcon не скрывается в моей системе?
Я написал программу, которая создает лоток. Я хочу скрыть это с кодом ниже, но это не работает (значок в трее виден). как решить эту проблему?
from PyQt5 import QtGui, QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication([])
sysTray =QtWidgets.QSystemTrayIcon()
sysTray.setIcon(QtGui.QIcon('1.jpg'))
sysTray.hide()
app.exec_()
2 ответа
Решение
Попытайся:
import sys
from PyQt5.QtWidgets import QApplication, QMenu, QSystemTrayIcon, qApp, QMessageBox
from PyQt5.QtGui import QIcon
def run_something():
print("Running something...")
if __name__ == '__main__':
app = QApplication(sys.argv)
# Creating menu
menu = QMenu()
checkAction = menu.addAction("Check Now")
checkAction.triggered.connect(run_something)
quitAction = menu.addAction("Quit")
quitAction.triggered.connect(qApp.quit)
# Creating icon
icon = QIcon.fromTheme("system-help", QIcon('avatar.jpg')) # '1.jpg'
# Creating tray
trayIcon = QSystemTrayIcon(icon, app)
trayIcon.setContextMenu(menu)
# Showing tray
trayIcon.show()
trayIcon.setToolTip("unko!")
trayIcon.showMessage("hoge", "moge")
sys.exit(app.exec_())