微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Gtkmm4

如何解决如何在 Gtkmm4

我使用的是 Gtkmm4,许多 API 已被删除。在 Gtk3 中可以使用 Gtk::Window::get_xid(从 Gdk::Window 继承),但这不再可能了,因为 Gdk::Window重命名Gdk::Surface,而 Gtk::Window 似乎不再继承它。但是,始终可以使用 Gdk::Surface 获得 GDK_SURFACE_XID(surface) 的 XId。如何获取 Gdk::SurfaceGtk::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 举报,一经查实,本站将立刻删除。