Вы не можете легко обновить значок в трее, возьмите его у кого-то, кто уже попробовал это и потерпел неудачу (На самом деле я просто отбрасываю его по причине " Если реализацию сложно объяснить, это плохо идея."),
но вот что у меня есть, чтобы обновить значок состояния, вам нужно будет установить значок состояния, используя метод gtk.status_icon_new_from_gicon()
, из doc :
Создает значок состояния, отображающий
gio.Icon (). Если значок тематический
значок будет обновлен, когда
тема меняется.
Таким образом, если вы хотите обновить значок состояния, вам нужно будет создать свой значок, используя значок gio themed , и теперь вы можете напрямую обновлять свой значок темы, и это изменение будет отображаться непосредственно в статусе панели задач. .
Теперь о вашем вопросе:
Да, gtk.main () блокирует ожидание сигнала, так что вам просто нужно привязать сигнал к действию, и когда этот сигнал срабатывает, действие может быть выполнено, для вашего случая в вашем обратном вызове действия вы можете поместить код, который обновит ваше изображение статуса.
Надеюсь, я вам здесь помог.