pygtk 如何在我的 pygtk GUI 中嵌入外部应用程序
我正在设计一个使用pygtk的图形界面,想把一个外部应用程序嵌入到这个界面里。
有没有人知道怎么实现这个呢?
3 个回答
0
如果你想把一个外部窗口(可能不是gtk窗口)重新归属到你的应用程序中,可以使用
w = gdk.window_foreign_new(window_id)
来从操作系统的窗口句柄获取一个gdk窗口对象,然后再使用
w.reparent(parent_window, x, y)
把它重新归属到一个已经存在的gtk容器里。
1
你不需要使用外部程序来获取 gtk.Plug
或 gtk.Socket
的 ID,它们各自都有相应的函数来处理这个问题。你可以查看这个教程来获取一些例子:
PyGTK 2.0 教程 - 插头和插座链接,这是来自 Wayback Machine(archive.org)的存档。
4
这要看你想把哪个应用嵌入到你的程序里。如果你要嵌入的应用是GTK应用(或者支持XEMBED协议的应用),那么你可以使用 gtk.Plug 和 gtk.Socket 来实现。PyGTK的教程里有一部分专门讲解如何做到这一点:
PyGTK 2.0教程 - 插头和插座,可以在Wayback Machine(archive.org)找到。