Меню PyGTK не отображается в Ubuntu Unity?

У меня есть приложение PyGTK, и оно отлично работает в Gnome, но в Unity (ubuntu 10.10+) панель глобального меню не работает — меню не отображаются в окне приложения или на верхней панели . Есть ли способ заставить меню либо пропускать глобальную строку меню, либо отображать в ней?

Изменить: добавлен минимальный образец.

#! /usr/bin/python

import GUI
from GUI import Window

app = GUI.Application()

window = Window()

window.show()

app.run()

person Skyler    schedule 25.01.2012    source источник
comment
Вам не нужно вносить какие-либо изменения в ваше приложение. Вы получаете какую-то ошибку и/или предупреждение? У вас есть кусок кода, чтобы воспроизвести проблему?   -  person jcollado    schedule 25.01.2012
comment
Нет, я не получаю никакой ошибки. Я не знаю, какой именно код вызывает это, поскольку я использую библиотеку (PyGUI), которая обертывает PyGTK.   -  person Skyler    schedule 25.01.2012
comment
Можете ли вы создать минимальный пример, который показывает эту проблему, и опубликовать его здесь? Я не знаю, найдете ли вы ответ в противном случае, потому что я не думаю, что PyGUI очень популярен, а PyGTK в целом работает с Unity.   -  person dumbmatter    schedule 26.01.2012


Ответы (1)


У меня были похожие проблемы с простыми программами, созданными с помощью pygtk. Я считаю, что ситуация такова:

  • pygtk работает с gtk2.x
  • Юнити использует gtk3
  • pygtk не работает с gtk3
  • python-gobject — это gtk3-эквивалент pygtk.

У вас есть дополнительный уровень сложности, поскольку вы используете pyGUI. Скорее всего, pyGUI использует pygtk, который не будет работать с GTK3/Unity. Вы можете либо убедить людей из pyGUI выпустить версию, совместимую с GTK3, либо переписать свое приложение с нуля, используя python-gobject.

person hfs99    schedule 28.03.2012
comment
Ни один из них не является особенно привлекательным, но отказ от PyGUI нарушил бы кросс-платформенную совместимость. Спасибо за вашу помощь. - person Skyler; 29.03.2012