PyGTK: встроить окно в другое окно

1

Я хочу встроить окно в другое окно, вроде как:
EDIT: скриншоты удалены, извините!
Это программа wingdows и не была сделана с жестким GTK.
Я пробовал использовать штепсельные вилки и сокеты, но, видимо, я не могу поместить gtk.Window(окно верхнего уровня) на вилку.

Возможно ли это? Если да, то как? Если нет, как вы думаете, что я должен делать вместо этого?

Теги:
gtk
pygtk

1 ответ

2

gtk.Window выводится из gtk.Bin, поэтому он может содержать только одного одного ребенка. Это снова можно использовать следующим образом:

  • Загрузите оба окна (например, из файлов Glade)
  • Удалите дочерний элемент из второго окна, но сохраните ссылку на дочерний элемент
  • Добавить ребенка где-то в первом окне

Второй шаг будет выглядеть следующим образом:

childWidget = secondWindow.get_child()
secondWindow.remove(childWidget)

Я использую этот подход для добавления окон плагина в виде вкладок в одном из моих приложений PyGTK. Это означает, что главное окно и плагины могут быть разработаны отдельно в Glade, а также реализованы независимо. Конечно, вы можете добавлять дочерний виджет в любом месте.

  • 0
    Не совсем то, что я хочу, но звучит как хорошая альтернатива.
  • 0
    @Gerardo: Тогда, наверное, я не правильно понял ваш вопрос. Что именно ты пытаешься сделать?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню