Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
2 / 2 / 0
Регистрация: 16.03.2020
Сообщений: 57

Иконка в трее

07.09.2020, 19:19. Показов 3732. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа показывает МЕНЮ при нажатии мышкой по ИКОНКЕ в трее.

Иконка загружается из файла icons/icons/icon.png

Но если файл иконки icon.png отсутствует, то программа всё равно запускается и не выдает никаких ошибок и работает, но иконка не отображается в трее.

КАК СДЕЛАТЬ КОНТРОЛЬ НАЛИЧИЯ ФАЙЛА ИКОНКИ? Чтобы программа выдавала предупреждение об отсутствии файла иконки?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import sys
from PySide2 import QtWidgets, QtGui
 
class SystemTrayIcon(QtWidgets.QSystemTrayIcon):
 
    def __init__(self, icon, parent=None):
        QtWidgets.QSystemTrayIcon.__init__(self, icon, parent)
        self.setToolTip(f'БЫСТРЫЙ ЗАПУСК')
        menu = QtWidgets.QMenu(parent)
 
        menu.addAction(QtGui.QIcon("icons/exit.png"), "ВЫХОД", lambda: sys.exit()) # Добавляем пункт ВЫХОД
 
        menu.addSeparator()
        self.setContextMenu(menu)
        self.activated.connect(self.onTrayIconActivated)
 
    def onTrayIconActivated(self, event):
        if event == self.Trigger: # при одиночном клике ЛЕВОЙ КНОПКОЙ МЫШИ - показывает МЕНЮ
            self.contextMenu().exec_(QtGui.QCursor.pos()) # показывает меню в текущей позиции мыши
 
def main():
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    tray_icon = SystemTrayIcon(QtGui.QIcon("icons/icon.png"), w)
    tray_icon.show()
    tray_icon.showMessage('ПРИВЕТ', 'КАК ДЕЛА?!')
    sys.exit(app.exec_())
 
if __name__ == '__main__':
    main()
Изображения
 
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2020, 19:19
Ответы с готовыми решениями:

Иконка в трее
Коллеги, добрый день Ситуация следующая, есть приложение и в нем есть события, которые сворачивают и разварачивают окно программы, все...

Иконка в трее
Написать программу, содержащую в файле ресурсов три иконки. Используя таймер, осуществить периодическую смену трех данных иконок в...

Иконка в трее
Столкнулся с такой проблемой: Никак немогу создать иконку в трее.И чтобы нажали на иконку вышло контекстное меню с пунктами: первый...

3
2 / 2 / 0
Регистрация: 16.03.2020
Сообщений: 57
07.09.2020, 19:33  [ТС]
Я пока использую такой способ:

Python
1
2
3
4
5
6
        
if os.path.exists("icons/icon.png") == True:
    print('Иконка найдена')
else:
    print("Иконка не найдена")
    exit()
Но может быть, кто нибудь знает другой способ?
Я не хочу дополнительно импортировать import os.path
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
08.09.2020, 13:14
Лучший ответ Сообщение было отмечено Karllson как решение

Решение

QFileInfo.exists("icons/icon.png") ?
1
2 / 2 / 0
Регистрация: 16.03.2020
Сообщений: 57
11.09.2020, 11:39  [ТС]
kapbepucm, Благодарю Вас!
Тема закрыта!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2020, 11:39
Помогаю со студенческими работами здесь

Иконка в трее
Здравствуйте я начинаю писать на C++ в моей программе нет окна но должна быть иконка в трее.Не могли бы вы дать готовый код создания...

иконка в трее
Привет. Не пойму как реализовать одно действие. Есть программа, которая отслеживает нажатие кнопок нам, капс и скрол локи. При...

Иконка в трее
Собственно весь вопрос в названии. С громадным трудом, преодолевая труднейшие ломки моей чувствительной психики, перехожу на Delphi XE...

Иконка в трее
Ув. программисты подскажите как можно сделать чтобы при нажатии на иконку в трее левой кнопкой у меня окрывался 1 popupmenu а при нажатии...

Иконка в трее
Всем здравствуйте. Можете мне подсказать, как сделать так, чтобы иконка NotifyIcon в трее не пряталась, а была всегда видна? Или это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru