Gio 中的 GUI 组件而不是 Gtk 中的?

GUI Components in Gio and not in Gtk?

为什么有些 GUI 组件在 Gio 而不是 Gtk?例如: GMenuGMenuItem。 我一直认为 GTK 是 GUI 组件的位置,Gio 是 in/out 库的位置。

GMenu/GAction 系统不是 GUI 组件。它是用于创建可以以各种不同方式显示的菜单的模型。例如,GActions 可以暴露给 dbus 并由其他进程触发。或者您可以使用 libappindicator 或类似的库围绕 GMenus 构建系统托盘图标。 GTK+ 提供了多个控件,可将 GMenus 映射到 GUI 元素,如传统菜单栏和弹出菜单按钮。