Вопрос

Мне просто нужен быстрый пример того, как легко разместить значок с Python в моем системном трее.Это означает: я запускаю программу, окно не отображается, в панели задач отображается только значок в трее (у меня есть файл png), и когда я щелкаю по нему правой кнопкой мыши, появляется меню с некоторыми параметрами (и когда я нажимаюна опции запускается функция). Это возможно?Мне вообще не нужно никакого окна ...

Примеры / фрагменты кода ДЕЙСТВИТЕЛЬНО приветствуются!: D

Это было полезно?

Решение

Для Windows и Gnome

Вот и все!wxPython - это бомба.Адаптировано из исходного кода моего приложения Feed Notifier .

родовое слово

Другие советы

wx.PySimpleApp устарел, вот как использовать вместо него wx.App

Мне потребовалось время, чтобы понять это, поэтому я решил поделиться.wx.PySimpleApp устарел в wxPython 2.9 и более поздних версиях.Вот оригинальный сценарий FogleBird, использующий вместо этого wx.App.

родовое слово

Если вы можете гарантировать окна и не хотите вводить тяжелые зависимости wx, вы можете сделать это с помощью расширения pywin32 .

См. также этот вопрос .

Для Ubuntu

Genracodicetagpre

Кросс-платформенный

См. PyQt: Показать меню в приложении на панели задач

Версия 2018

Genracodicetagpre

Альтернатива, если вы пытаетесь запустить программу на Python в фоновом режиме, вы можете запустить ее как службу.Посмотрите этот рецепт активного состояния, он довольно полезен.Я считаю, что один из вариантов - преобразовать ваше приложение в exe с помощью py2exe или pyinstall.

http://code.activestate.com/recipes/551780/

Для примера обратитесь к этой теме -> вопрос wx.

wxPython "classic" -> [new API] wxPython 'Phoenix' (Py3)

Да. На wiki.wxpython.org есть кроссплатформенный пример, который я тестировал с помощью python 2.7 (установка minconda) на macOS High Sierra (10.13.3), Windows 7 и gnome 3 / centos7. Это здесь (не обращайте внимания на заголовок страницы): https://wiki.wxpython.org/Custom%20Mac%20OsX% 20Dock% 20Bar% 20Icon

Для python 3.6 необходимы небольшие моды:

  • необходимо импортировать wx.adv
  • wx.TaskBarIcon становится wx.adv.TaskBarIcon
  • wx.IconFromBitmap становится wx.Icon

Gnome 3 требует установки TopIcons Plus.

Поскольку вы не хотите, чтобы окно отображалось («окно не отображается, только значок на панели задач»), просто закомментируйте следующую строку (хотя вы все равно хотите сохранить родительский элемент wx.Frame): родовое слово

А поскольку вы хотите использовать свой собственный значок .png, удалите изображение WXPdemo и встроенные изображения и замените

родовое слово

с, например

родовое слово

По моему опыту, это станет хорошим началом для дальнейшей адаптации или расширения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top