如何解决如何在 Gtkmm4
我使用的是 Gtkmm4,许多 API 已被删除。在 Gtk3 中可以使用 Gtk::Window::get_xid
(从 Gdk::Window
继承),但这不再可能了,因为 Gdk::Window
已重命名为 Gdk::Surface
,而 Gtk::Window
似乎不再继承它。但是,始终可以使用 Gdk::Surface
获得 GDK_SURFACE_XID(surface)
的 XId。如何获取 Gdk::Surface
的 Gtk::Window
,或者直接从 Gtk::Window
获取 XId?
注意:我只需要使用 Gtkmm 4 的解决方案,而不是 Gtkmm 3 !
解决方法
处理底层表面的代码被拆分成一个单独的接口 Gtk::Native
,然后 Gtk::Window
实现。 Gtk::Native
有一个方法 get_surface()
,它应该像 Gtk::Window::get_window()
在 GTK 3 中那样工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。