GtkWindow

描述 [源文件]

class Gtk.Window : Gtk.Widget
  implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
  /* No available fields */
}

可包含其他小部件的顶级窗口。

An example GtkWindow

窗口通常具有由窗口系统控制的装饰,它允许用户操纵窗口(调整大小、移动、关闭等)。

GtkWindow 作为 GtkBuildable

GtkWindowGtkBuildable 接口实现支持通过将 “titlebar” 指定为 <child> 元素的 “type” 属性来将子项设置为标题栏。

快捷键和手势

GtkWindow 支持以下键盘快捷键

  • F10 激活菜单栏(如果存在)。
  • Alt 在按下时使助记符可见。

以下信号具有默认的按键绑定

操作

GtkWindow 定义一组内置操作

  • default.activate 激活默认小部件。
  • window.minimize 最小化窗口。
  • window.toggle-maximized 最大化或还原窗口。
  • window.close 关闭窗口。

CSS 节点

window.background [.csd / .solid-csd / .ssd] [.maximized / .fullscreen / .tiled]
├── <child>
╰── <titlebar child>.titlebar [.default-decoration]

GtkWindow 具有一个带有名称 window 和样式类 .background 的主 CSS 节点。

通常与主 CSS 节点一起使用的样式类是 .csd(当使用客户端装饰时)、.solid-csd(用于没有不可见边框的客户端装饰)、.ssd(mutter 在渲染服务器端装饰时使用)。GtkWindow 还使用以下样式类表示主节点上的窗口状态:.maximized、.fullscreen、.tiled(如果支持,还有 .tiled-top、.tiled-left、.tiled-right、.tiled-bottom)。

GtkWindow 子类通常会添加自己的区分样式类,例如 .dialog、.popup 或 .tooltip。

一般来说,一些 CSS 属性对顶级窗口节点没有意义,例如边距或填充。当客户端装饰没有不可见边框时(即 .solid-csd 样式类已添加到主窗口节点),顶级窗口的 CSS 边框用于调整拖动大小。对于 .csd 案例,窗口之外的阴影区域可用于调整大小。

GtkWindow 将 .titlebar 和 .default-decoration 样式类添加到作为标题栏子项添加的小部件。

辅助功能

GTK 4.10 之前,GtkWindow 使用 GTK_ACCESSIBLE_ROLE_WINDOW 角色。

GTK 4.12 开始,GtkWindow 使用 GTK_ACCESSIBLE_ROLE_APPLICATION 角色。

层级

hierarchy this GtkWindow implements_0 GtkAccessible this--implements_0 implements_1 GtkBuildable this--implements_1 implements_2 GtkConstraintTarget this--implements_2 implements_3 GtkNative this--implements_3 implements_4 GtkRoot this--implements_4 implements_5 GtkShortcutManager this--implements_5 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_window_new

创建一个新的 GtkWindow

函数

gtk_window_get_default_icon_name

返回窗口的回退图标名称。

gtk_window_get_toplevels

返回所有现有顶级窗口的列表。

gtk_window_list_toplevels

返回所有现有顶级窗口的列表。

gtk_window_set_auto_startup_notification

设置窗口是否应请求启动通知。

gtk_window_set_default_icon_name

设置要作为回退的图标。

实例方法

gtk_window_close

请求关闭窗口。

gtk_window_destroy

释放内部引用 GTK 在顶级窗口上持有。

gtk_window_fullscreen

要求将窗口置于全屏状态。

gtk_window_fullscreen_on_monitor

要求在给定的监视器上将窗口置于全屏状态。

gtk_window_get_application

获取与窗口关联的应用程序对象。

gtk_window_get_child

获取窗口的子小部件。

gtk_window_get_decorated

返回窗口是否已被设置为具有装饰。

gtk_window_get_default_size

获取窗口的默认大小。

gtk_window_get_default_widget

返回 window 的默认小部件。

gtk_window_get_deletable

返回窗口是否已被设置为具有“关闭”按钮。

gtk_window_get_destroy_with_parent

返回窗口是否应与其瞬态父项一起销毁。

gtk_window_get_focus

检索窗口中当前获得焦点的窗口小部件。

gtk_window_get_focus_visible

获取“焦点矩形”是否应该可见。

gtk_window_get_group

返回窗口的组。

gtk_window_get_handle_menubar_accel

返回该窗口是否通过激活其包含的菜单栏对按 F10 作出反应。

since: 4.2

gtk_window_get_hide_on_close

返回单击“关闭”按钮后是否隐藏窗口。

gtk_window_get_icon_name

返回窗口的主题图标的名称。

gtk_window_get_mnemonics_visible

获取是否应该可见助记符。

gtk_window_get_modal

返回窗口是否是模态的。

gtk_window_get_resizable

获取用户是否可以调整窗口的大小。

gtk_window_get_title

检索窗口的标题。

gtk_window_get_titlebar

使用 gtk_window_set_titlebar() 设置的标题栏。

gtk_window_get_transient_for

获取此窗口的瞬态父窗口。

gtk_window_has_group

返回窗口是否具有显式窗口组。

gtk_window_is_active

返回窗口是否是当前活动顶层窗口的一部分。

gtk_window_is_fullscreen

检索窗口当前的全屏状态。

gtk_window_is_maximized

检索窗口当前的最大化状态。

gtk_window_is_suspended

检索窗口当前的暂停状态。

since: 4.12

gtk_window_maximize

要求最大化窗口,使其填满屏幕。

gtk_window_minimize

要求最小化窗口。

gtk_window_present

向用户显示窗口。

gtk_window_present_with_time

根据用户交互向用户显示窗口。

deprecated: 4.14 

gtk_window_set_application

设置或取消设置与窗口关联的应用程序对象。

gtk_window_set_child

设置窗口的子窗口小部件。

gtk_window_set_decorated

设置是否装饰窗口。

gtk_window_set_default_size

设置窗口的默认大小。

gtk_window_set_default_widget

设置默认小部件。

gtk_window_set_deletable

设置是否可以删除窗口。

gtk_window_set_destroy_with_parent

设置是否在瞬态父窗口被销毁时销毁窗口。

gtk_window_set_display

设置显示窗口的显示屏。

gtk_window_set_focus

设置焦点小部件。

gtk_window_set_focus_visible

设置是否显示“焦点矩形”。

gtk_window_set_handle_menubar_accel

设置此窗口是否应通过激活其包含的菜单栏来响应F10按下操作。

since: 4.2

gtk_window_set_hide_on_close

设置是否单击关闭按钮将隐藏窗口而不是销毁窗口。

gtk_window_set_icon_name

从命名的主题图标设置窗口图标。

gtk_window_set_mnemonics_visible

设置便于识别的字符是否可见。

gtk_window_set_modal

设置窗口模式或非模式。

gtk_window_set_resizable

设置用户是否可调整窗口大小。

gtk_window_set_startup_id

设置启动通知ID

gtk_window_set_title

设置窗口的标题。

gtk_window_set_titlebar

为窗口设置自定义标题栏。

gtk_window_set_transient_for

为窗口设置一个瞬态父窗口。

gtk_window_unfullscreen

要求消除窗口的全屏状态,并返回到其前一个状态。

gtk_window_unmaximize

要求取消窗口最大化。

gtk_window_unminimize

要求取消窗口最小化。

GtkWidget (162) 继承的方法

有关方法的完整列表,请参见 GtkWidget

GObject (43) 继承的方法

有关方法的完整列表,请参见 GObject

GtkAccessible (19) 继承的方法
gtk_accessible_announce

请求用户的屏幕阅读器宣布给定的消息。

since: 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)继承的方法
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

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 不是当前焦点小组件,并且可以聚焦,则将其设置为根的焦点小组件。

属性

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 以激活菜单栏。

since: 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

如果为 true,则窗口为模式窗口。

Gtk.Window:resizable

如果为 true,则用户可以调整窗口大小。

Gtk.Window:startup-id

用于设置窗口启动通知标识符的只写属性。

Gtk.Window:suspended

窗口是否已暂停。

since: 4.12

Gtk.Window:title

窗口的标题。

Gtk.Window:titlebar

标题栏小部件。

since: 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:visible

此小部件是否可见。

Gtk.Widget:width-request

覆盖小部件的宽度请求。

GtkAccessible (1) 继承的属性
GtkAccessible:accessible-role

给定的 `GtkAccessible` 实现的辅助角色。

信号

Gtk.Window::activate-default

用户激活默认小部件时发出。

Gtk.Window::activate-focus

用户激活 `window` 当前获得焦点的窗口小部件时发出。

Gtk.Window::close-request

用户单击窗口关闭按钮时发出。

Gtk.Window::enable-debugging

用户启用或禁用交互式调试时发出。

Gtk.Window::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

widgetGdkSurface 关联时发送。

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 信号。

类结构

struct GtkWindowClass {
  GtkWidgetClass parent_class;
  void (* activate_focus) (
    GtkWindow* window
  );
  void (* activate_default) (
    GtkWindow* window
  );
  void (* keys_changed) (
    GtkWindow* window
  );
  gboolean (* enable_debugging) (
    GtkWindow* window,
    gboolean toggle
  );
  gboolean (* close_request) (
    GtkWindow* window
  );
  
}

暂无描述。

成员
parent_class: GtkWidgetClass

父类。

activate_focus: void (* activate_focus) ( GtkWindow* window )

激活窗口内当前聚焦的窗口。

activate_default: void (* activate_default) ( GtkWindow* window )

激活窗口的默认窗口。

keys_changed: void (* keys_changed) ( GtkWindow* window )

当与窗口关联的加速器或助记符发生改变时,会发送信号。

enable_debugging: gboolean (* enable_debugging) ( GtkWindow* window, gboolean toggle )

类处理程序,用于 GtkWindow::enable-debugging 关键绑定信号。

close_request: gboolean (* close_request) ( GtkWindow* window )

暂无描述。

虚拟方法

Gtk.WindowClass.activate_default

激活窗口的默认窗口。

Gtk.WindowClass.activate_focus

激活窗口内当前聚焦的窗口。

Gtk.WindowClass.close_request

类处理程序,用于 GtkWindow::close-request 信号。

Gtk.WindowClass.enable_debugging

类处理程序,用于 GtkWindow::enable-debugging 关键绑定信号。

Gtk.WindowClass.keys_changed

当与窗口关联的加速器或助记符发生改变时,会发送信号。