【问题标题】:How to get the XId of a Gtk::Window in Gtkmm4如何在 Gtkmm4 中获取 Gtk::Window 的 XId
【发布时间】:2021-04-27 01:44:47
【问题描述】:

我正在使用 Gtkmm4,并且很多 API 已被删除。在 Gtk3 中可以使用Gtk::Window::get_xid(继承自Gdk::Window),但这不再可能,因为Gdk::Window 已重命名为Gdk::Surface,而Gtk::Window 似乎不再继承自它。但是,总是可以使用GDK_SURFACE_XID(surface) 获得Gdk::Surface 的XId。如何获取Gtk::WindowGdk::Surface,或者直接从Gtk::Window 获取XId?
注意:我只需要使用 Gtkmm 4 的解决方案,而不是 Gtkmm 3!

【问题讨论】:

    标签: c++ x11 xlib gtkmm gtkmm4


    【解决方案1】:

    处理底层表面的代码被拆分为一个单独的接口Gtk::Native,然后Gtk::Window 实现了该接口。 Gtk::Native 有一个方法 get_surface() 应该就像在 GTK 3 中的 Gtk::Window::get_window() 一样工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 2021-08-11
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多