pygtk как встроить внешнее приложение в мой графический интерфейс pygtk - PullRequest
7 голосов
/ 08 января 2010

Я создаю графический интерфейс pygtk и хочу встроить в него внешнее приложение.

Кто-нибудь знает, как это можно сделать?

Ответы [ 4 ]

4 голосов
/ 08 января 2010

Это зависит от того, какое приложение вы пытаетесь встроить в свое, но если другое приложение является приложением GTK (или поддерживающим протокол XEMBED), вы можете сделать это с помощью gtk.Plug и gtk.Socket . В руководстве PyGTK есть раздел, объясняющий, как это сделать:

http://www.pygtk.org/pygtk2tutorial/sec-PlugsAndSockets.html

3 голосов
/ 03 марта 2010

Это может помочь.Прочитайте статью 19.15.Как мне вставить что-то, используя вилки и розетки?(http://faq.pygtk.org/index.py?req=all#19.15) и узнайте, как встроить произвольное приложение X Window в (Py) GTK Socket.

1 голос
/ 05 марта 2010

Вы не используете внешнюю программу для получения идентификатора gtk.Plug / gtk.Socket, у них есть соответствующие функции для этого. В этом руководстве приведены примеры: ссылка .

0 голосов
/ 23 августа 2011

Если вы пытаетесь перерисовать внешнее окно (это может быть не окно GTK), вы можете использовать

w = gdk.window_foreign_new(window_id)

чтобы получить объект окна gdk из дескриптора окна операционной системы, а затем использовать

w.reparent(parent_window, x, y)

переписать его в существующий контейнер gtk.

...