Gtk VB OLE对象

时间:2015-02-04 13:35:01

标签: c linux gtk

visual basic ole(对象链接和嵌入)允许程序员在程序内部运行外部程序。剂量gtk有类似的东西吗?让我在main中运行另一个gtk程序,如evince,gedit等。 实际上我想绘制空窗口,然后在窗口中打开gedit。

1 个答案:

答案 0 :(得分:1)

在X11上,您可以使用GtkPlugGtkSocket在应用程序中嵌入外部窗口。您必须建立一个协议来获取应用程序窗口的XID,例如使用DBus。

但实际上,这种行为非常气馁,因为它不可移植。

如果您想查看PDF,可以使用Poppler(这是Evince使用的),或者您可以重复使用Evince UI组件,Evince将其公开为库:https://developer.gnome.org/evince/3.14/

如果您想要gedit的文字编辑功能,可以使用GtkSourceViewhttps://developer.gnome.org/gtksourceview/3.14/

通常,许多GNOME和GTK +应用程序都是组件化的,并且基于其他应用程序可以重用的共享库。