Подтвердить что ты не робот

Как встраивать внешнее окно в GUI (Python + Glade + Gtk3)

Я начал создавать графический интерфейс с библиотеками Glade, python и Gtk3. Я хочу попытаться просмотреть внешнее окно, связывающее его внутри контейнера в моем графическом интерфейсе. Является ли это возможным? Что является лучшим контейнером для этого?

Я начал искать, но простые методы в Gtk2 (например здесь) больше не могут использоваться в Gtk3.

Я нашел очень интересное сообщение здесь, которое позволяет мне установить правильный идентификатор целевого окна, но я все еще запутался в том, как показать его внутри моего графического интерфейса,

Я не понял, что попытался немного изменить эти руководства с помощью cairo.

Моя часть кода до сих пор (я хочу отобразить окно с ID = 0x360000b в контейнере map_area, и я должен использовать структуру "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()

Может ли кто-нибудь мне помочь? Заранее благодарю вас!

4b9b3361