PyGTK - события из gtk.Menu в глобальном меню Unity

У меня есть приложение с графическим интерфейсом, написанное на PyGTK, и мне нужно прочитать события нажатия клавиш / отпускания из меню приложения.

Например, когда нажимаешь клавишу Shift и щелкаешь по пункту меню, делай что-нибудь еще, затем обычное. gtk.Menu реализует этот сигнал, и он работает очень хорошо для приложения, пока Unity не переместит меню на панель - больше никаких событий из меню. Я не хочу переделывать GUI из-за Unity, надеюсь, есть лучший способ. Спасибо заранее за любой намек.

2
задан 10 October 2011 в 22:19

2 ответа

PyGTK совсем недавно обсуждался на недавней Ubuntu Apps Developer Week .

Таким образом, PyGTK фактически устарел в пользу pyGI. Это из-за Unity, Gnome3 и предстоящего GTK3.

Поэтому, кажется, если вы хотите, чтобы ваше приложение поддерживалось на более новых платформах (не только Ubuntu), то вам нужно немного переработать код, компилируя его с библиотеками pyGI, а не с pyGTK.

0
ответ дан 10 October 2011 в 22:19

Хорошо, у меня есть возможное решение. Очевидно, что глобальное меню идет после gtk.MenuBar, поэтому я удалил свое меню из gtk.MenuBar и создал свой собственный простой меню, основанный на gtk.EventBox, gtk.Label и gtk.Menu.popup. Теперь у меня есть мое меню в окне приложения, и все работает, как ожидалось. Так как это приложение с маленьким окном, глобальное меню в любом случае бессмысленно.

0
ответ дан 10 October 2011 в 22:19

Другие вопросы по тегам:

Похожие вопросы: