gpt4 book ai didi

python - 如何在 GUI 中嵌入外部窗口(Python + Glade + Gtk3)

转载 作者:太空狗 更新时间:2023-10-29 17:35:07 24 4
gpt4 key购买 nike

我开始使用 Glade、python 和 Gtk3 库构建 GUI。我想尝试在我的 GUI 中查看将它链接到容器内的外部窗口。可能吗?哪个是执行此操作的最佳容器对象?

我开始搜索,但 Gtk2 中的简单方法(如 here )不能再在 Gtk3 中使用。

我发现了一个非常有趣的帖子 here这允许我设置目标窗口的正确 ID,但我仍然对如何在我的 GUI 中显示它感到困惑。

我试图改变一点但没有成功these tutorials与开罗。

到目前为止我的一段代码(我想在 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()

谁能帮帮我?提前致谢!

最佳答案

听起来你想成为一个窗口管理器。查看有关如何编写窗口管理器的问题的答案,例如这个:

Creating a window manager for Linux

或者这个:

Building a Window Manager

祝你好运!

关于python - 如何在 GUI 中嵌入外部窗口(Python + Glade + Gtk3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com