pygtk как встроить внешнее приложение в мой графический интерфейс pygtk
Я хочу графический интерфейс pygtk и хочу встроить в него внешнее приложение.
кто-нибудь знает, как это можно сделать?
4 ответов
Это зависит от того, какое приложение вы пытаетесь встроить в свой, но если другое приложение является приложением GTK (или тем, которое поддерживает протокол XEMBED), вы должны быть в состоянии сделать это с gtk.Вилка и gtk.Сокет. В учебнике PyGTK есть раздел, объясняющий, как это сделать:
http://www.pygtk.org/pygtk2tutorial/sec-PlugsAndSockets.html
Это может помочь. Прочитать статью 19.15. Как вставить что-то с помощью разъемов и розеток? (http://faq.pygtk.org/index.py?req=all#19.15) и узнайте, как встроить произвольное приложение X Window В (Py) гнездо GTK.
вы не используете внешнюю программу для получения gtk.Plug
/gtk.Socket
ID, у них есть соответствующие функции для этого. См. этот учебник для примеров:ссылке.
Если вы пытаетесь повторно отобразить внешнее окно (это может быть не окно gtk), вы можете использовать
w = gdk.window_foreign_new(window_id)
чтобы получить объект окна gdk из дескриптора окна операционной системы, а затем использовать
w.reparent(parent_window, x, y)
чтобы повторно передать его в существующий контейнер gtk.