import sys
from PySide6.QtWidgets import QApplication, QSystemTrayIcon, QMenu
from PySide6.QtGui import QIcon, QAction
from PySide6.QtCore import Qt
def create_tray_icon():
app = QApplication(sys.argv)
tray_icon = QSystemTrayIcon(QIcon("free-icon-mushroom-17845555.png"), app)
# Создаем меню
tray_menu = QMenu()
tray_menu.setWindowFlags(tray_menu.windowFlags() | Qt.FramelessWindowHint | Qt.NoDropShadowWindowHint)
tray_menu.setAttribute(Qt.WA_TranslucentBackground)
# Настройка стиля меню
tray_menu.setStyleSheet("""
QMenu {
background-color: rgba(255, 255, 255, 150);
border: 1px solid rgba(0, 0, 0, 50);
}
QMenu::item {
padding: 5px 30px;
margin: 2px;
border-radius: 5px;
}
QMenu::item:selected {
background-color: rgba(100, 100, 100, 100); /* Менее яркое выделение */
color: black; /* Цвет текста при выделении */
}
""")
# Создаем действия
action_show_message = QAction("Показать сообщение")
action_quit = QAction("Выход")
tray_menu.addAction(action_show_message)
tray_menu.addSeparator()
tray_menu.addAction(action_quit)
action_show_message.triggered.connect(lambda: tray_icon.showMessage("Заголовок", "Это сообщение из трея"))
action_quit.triggered.connect(app.quit)
tray_icon.setContextMenu(tray_menu)
tray_icon.show()
sys.exit(app.exec())
if __name__ == "__main__":
create_tray_icon()