2012-06-21 1 views
2

Я программист PHP и хочу получить письменные приложения GUI Python под Linux.Python GTK не отображает menubar

На моем компьютере Ubuntu 12.04 с любой версией PyGtk MenuBar просто не отображается. На моем компьютере Ubuntu 10.04 на работе, с точно таким же кодом, MenuBar всегда показывает.

Я пытаюсь выучить до даты способ делать вещи, поэтому использовали в качестве примера в нижней части этой страницы: http://python-gtk-3-tutorial.readthedocs.org/en/latest/menus.html

Я предполагаю, что один из вас будет знать вопрос сразу?

Спасибо.

ответ

10

Doh!

Ubuntu 12.04 использует Unity, а Unity показывает меню в верхней части рабочего стола.

Еще раз!

2

Вы можете найти следующий ответ here:

В Unity можно отключить глобальное меню для вашей программы, установив переменной окружения $ UBUNTU_MENUPROXY до 0 (или что-нибудь еще, что не «libappmenu. так"). Поэтому, если по какой-то причине вы хотите убедиться, что даже в Unity ваше приложение отображает меню внутри окна приложения, только создайте небольшой скрипт оболочки оболочки, который не запускает $ UBUNTU_MENUPROXY и .

+1

Спасибо, что работал для меня на Ubuntu 14.04 для применения PyGtk, вы даже не нужно создавать скрипт, просто изменить os.environ перед импортом GTK: импорт зева os.environ [ «UBUNTU_MENUPROXY»] = «0» – Ivan

1

Я столкнулся с той же проблемой, но в проекте C++ на Ubuntu. Мне удалось обойти путем установки GTK-оболочка-шоу-Menubar свойства FALSE, как показано ниже:

g_object_set (gtk_settings_get_default(), "GTK-Shell-шоу-строка меню", значение FALSE, NULL);

Вы можете перевести его на python, если хотите.