pygtk 如何在我的 pygtk GUI 中嵌入外部应用程序

8 投票
3 回答
3119 浏览
提问于 2025-04-15 17:46

我正在设计一个使用pygtk的图形界面,想把一个外部应用程序嵌入到这个界面里。

有没有人知道怎么实现这个呢?

3 个回答

0

如果你想把一个外部窗口(可能不是gtk窗口)重新归属到你的应用程序中,可以使用

w = gdk.window_foreign_new(window_id)

来从操作系统的窗口句柄获取一个gdk窗口对象,然后再使用

w.reparent(parent_window, x, y)

把它重新归属到一个已经存在的gtk容器里。

1

你不需要使用外部程序来获取 gtk.Pluggtk.Socket 的 ID,它们各自都有相应的函数来处理这个问题。你可以查看这个教程来获取一些例子:

PyGTK 2.0 教程 - 插头和插座链接,这是来自 Wayback Machine(archive.org)的存档。

4

这要看你想把哪个应用嵌入到你的程序里。如果你要嵌入的应用是GTK应用(或者支持XEMBED协议的应用),那么你可以使用 gtk.Pluggtk.Socket 来实现。PyGTK的教程里有一部分专门讲解如何做到这一点:

PyGTK 2.0教程 - 插头和插座,可以在Wayback Machine(archive.org)找到。

撰写回答