如何在 Gtkmm4 中获取 Gtk::Window 的 XId
How to get the XId of a Gtk::Window in Gtkmm4
我正在使用 Gtkmm4,许多 API 已被删除。在 Gtk3 中可以使用 Gtk::Window::get_xid
(继承自 Gdk::Window
),但那不再可能了,因为 Gdk::Window
已重命名为 Gdk::Surface
,而 Gtk::Window
似乎不再继承它。但是,总是可以使用 GDK_SURFACE_XID(surface)
获得 Gdk::Surface
的 XId。如何获取 Gtk::Window
的 Gdk::Surface
,或者直接从 Gtk::Window
获取 XId?
注意:我只需要使用 Gtkmm 4 的解决方案,而不是 Gtkmm 3!
处理底层表面的代码被拆分成一个单独的接口,Gtk::Native
, which Gtk::Window
then implements. Gtk::Native
has a method get_surface()
它应该像 Gtk::Window::get_window()
在 GTK 3 中那样工作。
我正在使用 Gtkmm4,许多 API 已被删除。在 Gtk3 中可以使用 Gtk::Window::get_xid
(继承自 Gdk::Window
),但那不再可能了,因为 Gdk::Window
已重命名为 Gdk::Surface
,而 Gtk::Window
似乎不再继承它。但是,总是可以使用 GDK_SURFACE_XID(surface)
获得 Gdk::Surface
的 XId。如何获取 Gtk::Window
的 Gdk::Surface
,或者直接从 Gtk::Window
获取 XId?
注意:我只需要使用 Gtkmm 4 的解决方案,而不是 Gtkmm 3!
处理底层表面的代码被拆分成一个单独的接口,Gtk::Native
, which Gtk::Window
then implements. Gtk::Native
has a method get_surface()
它应该像 Gtk::Window::get_window()
在 GTK 3 中那样工作。