gtk.Window
является производным от gtk.Bin
, поэтому он может содержать только одного дочернего элемента.Это снова можно использовать следующим образом:
- Загрузить оба окна (например, из файлов Glade)
- Удалить дочерний элемент из второго окна, но сохранить ссылку на дочерний элемент
- Добавить ребенка где-то в первом окне
Второй шаг будет выглядеть следующим образом:
childWidget = secondWindow.get_child()
secondWindow.remove(childWidget)
Я использую этот подход для добавления окон плагинов каквкладки в одном из моих приложений PyGTK.Это означает, что главное окно и плагины могут быть спроектированы отдельно в Glade, а также реализованы независимо.Конечно, вы можете добавить дочерний виджет куда угодно.