类
GtkApplicationWindow
说明 [src]
class Gtk.ApplicationWindow : Gtk.Window
implements Gio.ActionGroup, Gio.ActionMap, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
/* No available fields */
}
一个与 GtkApplication
集成的 GtkWindow
子类。
特别是,GtkApplicationWindow
可以处理一个应用程序菜单栏。
此类实现了 GActionGroup
和 GActionMap
接口,以便您添加特定于窗口的操作,这些操作将由关联的 GtkApplication
与其应用程序范围的操作一起导出。特定于窗口的操作以 “win.” 前缀开头,而应用程序范围的操作以 “app.” 前缀开头。从菜单模型引用操作时,必须使用前缀名称来寻址操作。
请注意,放置在 GtkApplicationWindow
中的小组件如果实现了 GtkActionable
接口,也可以激活这些操作。
设置 GtkSettings:gtk-shell-shows-app-menu
和 GtkSettings:gtk-shell-shows-menubar
告诉 GTK 桌面环境是否将应用程序菜单和菜单栏模型显示在应用程序外部的桌面外壳的一部分中。例如,在 OS X 上,两个菜单都将远程显示;在 Windows 上则都不会显示。
如果桌面环境不显示菜单栏,则 GtkApplicationWindow
会自动为其显示一个菜单栏。此行为可以使用 GtkApplicationWindow:show-menubar
属性进行覆盖。如果桌面环境不显示应用程序菜单,那么它会自动包含在菜单栏中,或者包含在窗口的客户端装饰中。
有关 GtkBuilder
用于菜单模型的 XML 语言的信息,请参见 GtkPopoverMenu
。
另请参见:gtk_application_set_menubar()
。
带菜单栏的 GtkApplicationWindow
以下代码示例显示了如何使用在 GtkApplication
上定义的菜单栏设置 GtkApplicationWindow
GtkApplication *app = gtk_application_new ("org.gtk.test", 0);
GtkBuilder *builder = gtk_builder_new_from_string (
"<interface>"
" <menu id='menubar'>"
" <submenu>"
" <attribute name='label' translatable='yes'>_Edit</attribute>"
" <item>"
" <attribute name='label' translatable='yes'>_Copy</attribute>"
" <attribute name='action'>win.copy</attribute>"
" </item>"
" <item>"
" <attribute name='label' translatable='yes'>_Paste</attribute>"
" <attribute name='action'>win.paste</attribute>"
" </item>"
" </submenu>"
" </menu>"
"</interface>",
-1);
GMenuModel *menubar = G_MENU_MODEL (gtk_builder_get_object (builder, "menubar"));
gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
g_object_unref (builder);
// ...
GtkWidget *window = gtk_application_window_new (app);
实例方法
从 GActionGroup(14)继承的方法
g_action_group_action_added
发送 `action_group` 上的 `GActionGroup::action-added` 信号。
g_action_group_action_enabled_changed
发送 `action_group` 上的 `GActionGroup::action-enabled-changed` 信号。
g_action_group_action_removed
发送 `action_group` 上的 `GActionGroup::action-removed` 信号。
g_action_group_action_state_changed
发送 `action_group` 上的 `GActionGroup::action-state-changed` 信号。
g_action_group_activate_action
激活 `action_group` 中的命名操作。
g_action_group_change_action_state
请求将 `action_group` 中指定名称的操作状态更改为 `value`。
g_action_group_get_action_enabled
检查 `action_group` 中的指定名称的操作当前是否已启用。
g_action_group_get_action_parameter_type
查询激活 `action_group` 中的指定名称的操作时必须给出的参数的类型。
g_action_group_get_action_state
查询 `action_group` 中的指定名称的操作的当前状态。
g_action_group_get_action_state_hint
请求 `action_group` 中指定名称的操作状态的有效值范围提示。
g_action_group_get_action_state_type
查询 `action_group` 中的指定名称的操作状态的类型。
g_action_group_has_action
检查 `action_group` 中是否存在指定名称的操作。
g_action_group_list_actions
列出 `action_group` 中包含的操作。
g_action_group_query_action
查询 `action_group` 中的指定名称操作的所有方面。
从 GActionMap(5)继承的方法
g_action_map_add_action
将操作添加到 `action_map`。
g_action_map_add_action_entries
用于创建多个 `GSimpleAction` 实例并将其添加到 `GActionMap` 的便捷函数。
g_action_map_lookup_action
在 `action_map` 中查找名称为 `action_name` 的操作。
g_action_map_remove_action
从操作映射中移除指定的名称操作。
g_action_map_remove_action_entries
从 `GActionMap` 中移除操作。这是作为 `g_action_map_add_action_entries()` 的反向操作。
从 GtkAccessible (19) 继承的方法
gtk_accessible_announce
请求用户的屏幕阅读器播报给定的消息。
自:4.14
gtk_accessible_get_accessible_parent
检索辅助对象的可访问父级。
自:4.10
gtk_accessible_get_accessible_role
检索辅助对象的辅助角色。
gtk_accessible_get_at_context
检索给定辅助对象的实现。
自:4.10
gtk_accessible_get_bounds
查询此辅助对象的坐标和尺寸。
自:4.10
gtk_accessible_get_first_accessible_child
检索辅助对象的第一个辅助子级。
自:4.10
gtk_accessible_get_next_accessible_sibling
检索辅助对象的下一个辅助同级。
自:4.10
gtk_accessible_get_platform_state
查询平台状态,例如焦点。
自:4.10
gtk_accessible_reset_property
将辅助属性重置为其默认值。
gtk_accessible_reset_relation
将辅助关系重置为其默认值。
gtk_accessible_reset_state
将辅助状态重置为其默认值。
gtk_accessible_set_accessible_parent
设置辅助对象的父级和同级。
自:4.10
gtk_accessible_update_next_accessible_sibling
更新下一个辅助同级。
自:4.10
gtk_accessible_update_property
更新辅助属性的列表。
gtk_accessible_update_property_value
更新辅助属性的数组。
gtk_accessible_update_relation
更新辅助关系的列表。
gtk_accessible_update_relation_value
更新辅助关系的数组。
gtk_accessible_update_state
更新辅助状态的列表。
gtk_accessible_update_state_value
更新辅助状态的数组。
由 GtkBuildable 继承的方法 (1)
由 GtkNative 继承的方法 (5)
gtk_native_get_renderer
返回用于此 GtkNative
的渲染器。
gtk_native_get_surface
返回此 GtkNative
的表面。
gtk_native_get_surface_transform
检索 self
的表面变换。
gtk_native_realize
实现 GtkNative
。
gtk_native_unrealize
取消实现 GtkNative
。
由 GtkRoot 继承的方法 (3)
gtk_root_get_display
返回此 GtkRoot
所在的显示器。
gtk_root_get_focus
检索根中当前聚焦的小部件。
gtk_root_set_focus
如果 focus
不是当前焦点小部件,并且是可聚焦的,则将其设置为根的焦点小部件。
属性
由 GtkWindow 继承的属性 (25)
Gtk.Window:application
与该窗口关联的 GtkApplication
。
Gtk.Window:child
子窗口。
Gtk.Window:decorated
窗口是否应有边框(也称为“修饰”)。
Gtk.Window:default-height
窗口的默认高度。
Gtk.Window:default-widget
默认窗口。
Gtk.Window:default-width
窗口的默认宽度。
Gtk.Window:deletable
窗口边框是否应有一个关闭按钮。
Gtk.Window:destroy-with-parent
如果此窗口应在父窗口被销毁时被销毁。
Gtk.Window:display
将显示此窗口的显示器。
Gtk.Window:focus-visible
此窗口中当前是否可见“焦点矩形”。
Gtk.Window:focus-widget
焦点窗口。
Gtk.Window:fullscreened
窗口是否为全屏。
Gtk.Window:handle-menubar-accel
窗口框架是否应处理 F10 以激活菜单栏。
自 4.2 起
Gtk.Window:hide-on-close
如果用户单击关闭按钮,是否应该隐藏该窗口。
Gtk.Window:icon-name
指定要作为窗口图标使用的主题图标的名称。
Gtk.Window:is-active
顶级窗口是否是当前活动窗口。
Gtk.Window:maximized
窗口是否已最大化。
Gtk.Window:mnemonics-visible
助记符当前是否在此窗口中可见。
Gtk.Window:modal
如果为真,则窗口是模态的。
Gtk.Window:resizable
如果为真,则用户可以调整窗口大小。
Gtk.Window:startup-id
一个只写属性,用于设置窗口的启动通知标识符。
Gtk.Window:suspended
窗口是否已暂停。
自 4.12 起
Gtk.Window:title
窗口的标题。
Gtk.Window:titlebar
标题栏小部件。
自 4.6 起
Gtk.Window:transient-for
窗口的瞬态父级。
从 GtkWidget 继承的属性(34)
Gtk.Widget:can-focus
小部件或其任何后代是否可以接受输入焦点。
Gtk.Widget:can-target
小部件是否可以接收指针事件。
Gtk.Widget:css-classes
应用于此小部件的 css 类的列表。
Gtk.Widget:css-name
此小部件在 CSS 树中的名称。
Gtk.Widget:cursor
widget
使用的光标。
Gtk.Widget:focus-on-click
当使用鼠标单击时,该小部件是否应该获取焦点。
Gtk.Widget:focusable
此小部件本身是否将接受输入焦点。
Gtk.Widget:halign
如果小部件获得额外空间,如何分配水平空间。
Gtk.Widget:has-default
小部件是否是默认小部件。
Gtk.Widget:has-focus
小部件是否具有输入焦点。
Gtk.Widget:has-tooltip
在 widget
上启用或禁用对 GtkWidget::query-tooltip
信号的发射。
Gtk.Widget:height-request
覆盖小部件的高度请求。
Gtk.Widget:hexpand
是否横向展开。
Gtk.Widget:hexpand-set
是否使用 hexpand
属性。
Gtk.Widget:layout-manager
要使用的 GtkLayoutManager
实例来计算小部件的首选大小,并分配其子级。
Gtk.Widget:margin-bottom
小部件底部的边距。
Gtk.Widget:margin-end
小部件末尾的边距,水平方向。
Gtk.Widget:margin-start
小部件开始处的边距,水平方向。
Gtk.Widget:margin-top
小部件顶部的边距。
Gtk.Widget:name
小部件的名称。
Gtk.Widget:opacity
小部件请求的不透明度。
Gtk.Widget:overflow
如何处理小部件内容区域外的内容。
Gtk.Widget:parent
此小部件的父级小部件。
Gtk.Widget:receives-default
当小部件获得焦点时,小部件是否将接收默认操作。
Gtk.Widget:root
包含此小部件的小部件树的 GtkRoot
小部件。
Gtk.Widget:scale-factor
小部件的缩放因子。
Gtk.Widget:sensitive
小部件是否对输入做出响应。
Gtk.Widget:tooltip-markup
将工具提示的文本设置为给定的字符串,该字符串使用 Pango 标记进行标记。
Gtk.Widget:tooltip-text
将工具提示的文本设置为给定的字符串。
Gtk.Widget:valign
如果小部件获得额外空间,如何分配垂直空间。
Gtk.Widget:vexpand
是否垂直展开。
Gtk.Widget:vexpand-set
是否使用 vexpand
属性。
Gtk.Widget:可见性
控件是否可见。
Gtk.Widget:宽度请求
针对控件的宽度请求进行覆盖。
从 GtkAccessible (1) 继承的属性
信号
从 GtkWindow (5) 继承的信号
GtkWindow::activate-default
当用户激活默认控件时发出。
GtkWindow::activate-focus
当用户激活 window
当前获得焦点的控件时发出。
GtkWindow::close-request
当用户单击窗口的关闭按钮时发出。
GtkWindow::enable-debugging
当用户启用或禁用交互式调试时发出。
GtkWindow::keys-changed
当与窗口相关联的加速器或记忆符集发生改变时发出。
已弃用: 4.10
从 GtkWidget (13) 继承的信号
GtkWidget::destroy
信号通知引用控件的所有持有者释放他们持有的引用。
GtkWidget::direction-changed
当控件的文本方向发生改变时发出。
GtkWidget::hide
当 widget
被隐藏时发出。
GtkWidget::keynav-failed
如果键盘导航失败时发出。
GtkWidget::map
当 widget
即将被映射时发出。
GtkWidget::mnemonic-activate
当控件通过记忆符激活时发出。
GtkWidget::move-focus
当焦点移动时发出。
GtkWidget::query-tooltip
当控件的工具提示即将显示时发出。
GtkWidget::realize
当 widget
与 GdkSurface
关联时发出。
GtkWidget::show
当 widget
显示时发出。
GtkWidget::state-flags-changed
当控件状态发生改变时发出。
GtkWidget::unmap
当 widget
即将被取消映射时发出。
GtkWidget::unrealize
与 widget
关联的 GdkSurface
销毁时发出。
从 GObject (1) 继承的信号
GObject::notify
当对象的一个属性通过 g_object_set_property()、g_object_set() 等设置其值时,会发出 notify 信号。
从 GActionGroup (4) 继承的信号
GActionGroup::action-added
信号通知一个新操作刚刚添加到组中。此信号在操作已添加且现在可见后发出。
GActionGroup::action-enabled-changed
信号通知已命名的操作的启用状态已发生改变。
GActionGroup::action-removed
信号通知一个操作即将从组中移除。此信号在操作被移除之前发出,因此操作仍然可见且可以从信号处理程序中查询。
GActionGroup::action-state-changed
信号通知已命名的操作的状态已发生改变。