我开始用Glade,
python和Gtk3库构建GUI.
我想尝试查看在我的GUI中的容器内连接它的外部窗口.可能吗?哪个是最好的容器对象呢?
我开始搜索,但Gtk2中的简单方法(如here)不能再在Gtk3中使用.
我发现一个非常有趣的帖子here,允许我设置目标窗口的正确ID,但我仍然困惑如何在我的GUI中显示.
我的代码到目前为止(我想在map_area容器中显示ID = 0x360000b的窗口,我必须使用“self”来处理结构).暂时地,map_area容器是一个Drawingarea.
# if condition occurs
Gdk.Window.process_all_updates()
win_id = 0x360000b # from xwininfo command
root_win = GdkX11.X11Display.get_default()
win = GdkX11.X11Window.foreign_new_for_display(root_win, win_id)
width = win.get_width()
height = win.get_height()
self.map_area = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
pixbuf = Gdk.pixbuf_get_from_window(win, 0, 0, width, height)
cr = cairo.Context(self.map_area)
Gdk.cairo_set_source_pixbuf(cr, pixbuf, 0, 0)
cr.paint()
有人可以帮我吗
先谢谢你!