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.