Я переношу коммерческое приложение в Linux, оно запускается на нескольких дистрибутивах. При запуске на Ubuntu GtkMenuBar удаляется из окна приложения и помещается в основную глобальную панель меню. Все в порядке ... но в окне приложения есть соответствующее пустое место, где было удалено меню (оно помещено в GtkFixed). Мне нужно выяснить, когда это произошло (и ТОЛЬКО), когда это произошло из любого дистрибутива, чтобы я мог надежно удалить пустое пространство.
Как лучше всего это обнаружить? (т.е. через gtk_widget _... calls) Что было сделано для GtkMenuBar для достижения этого? Спасибо.
Проблема не в том, что в GtkMenuBar ничего не было сделано (оно просто скрыто). Проблема заключается в том, что вы используете GtkFixed для ее размещения, и поэтому все не изменяется автоматически при отключении MenuBar.
Есть ли какая-то конкретная причина, по которой вы используете GtkFixed для размещения вещей, а не используя стандартную структуру размещения коробки GTK +? Возможно, вы захотите изучить GtkApplication и / или GtkBuilder для создания и представления своего пользовательского интерфейса вместо использования абсолютного позиционирования с помощью GtkFixed.
Если вы хотите продолжить использование GtkFixed, вам нужно будет наблюдать за свойством (или сигналом) на GtkMenuBar и изменять и / или изменять размер других виджетов в вашем окне вручную, когда GtkMenuBar скрыт.