pygtk how to embed external application within my pygtk GUI

匆匆过客 提交于 2019-12-10 03:57:44

问题


I'm desiging a pygtk GUI and want to embed an external application into it.

Does anyone have any idea how this can be done?


回答1:


It depends on what application you are trying to embed into yours, but if the other app is a GTK app (or one that supports the XEMBED protocol), you should be able to do this with gtk.Plug and gtk.Socket. The PyGTK tutorial has a section explaining how to do this:

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




回答2:


This one might help. Read the article 19.15. How do I embed something using Plugs and Sockets? (http://faq.pygtk.org/index.py?req=all#19.15) and find out how to embed arbitrary X Window application into (Py)GTK Socket.




回答3:


You don't use an external program to get the gtk.Plug/gtk.Socket ID, they have their respective functions for that. See this tutorial for examples: link.




回答4:


If you're trying to reparent an external window (that may not be a gtk window), you can use

w = gdk.window_foreign_new(window_id)

to get a gdk window object from an operating system window handle, and then use

w.reparent(parent_window, x, y)

to reparent it into an existing gtk container.



来源:https://stackoverflow.com/questions/2023698/pygtk-how-to-embed-external-application-within-my-pygtk-gui

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!