类
GtkGrid
描述 [src]
class Gtk.Grid : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
/* No available fields */
}
GtkGrid
是按行、按列排列其子小组件的容器。
它支持任意位置和水平/垂直跨度。
使用 gtk_grid_attach()
添加子元素。它们可以跨多行或多列。也可以使用 gtk_grid_attach_next_to()
在现有子元素旁边添加子元素。要从网格中移除子元素,请使用 gtk_grid_remove()
。
当多个子元素占据相同的网格单元格时,GtkGrid
的行为是不确定的。
GtkGrid 作为 GtkBuildable
GtkGrid
中的每个子元素都可以访问名为 <layout>
的自定义 GtkBuildable
元素。它可以用于指定网格中的位置和跨度(可选)。<layout>
元素中可用的所有属性均由 GtkGridLayoutChild
实现。
它由 GtkWidget
使用 GtkLayoutManager
实现。
接下来是一个简单示例,以展示其用法
<object class="GtkGrid" id="my_grid">
<child>
<object class="GtkButton" id="button1">
<property name="label">Button 1</property>
<layout>
<property name="column">0</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">Button 2</property>
<layout>
<property name="column">1</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button3">
<property name="label">Button 3</property>
<layout>
<property name="column">2</property>
<property name="row">0</property>
<property name="row-span">2</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button4">
<property name="label">Button 4</property>
<layout>
<property name="column">0</property>
<property name="row">1</property>
<property name="column-span">2</property>
</layout>
</object>
</child>
</object>
它以并排的方式在每个单元格中组织前两个按钮。第三个按钮位于最后一列,但跨两行。这由 row-span
属性定义。最后一个按钮位于第二行,并且跨两列,这由 column-span
属性定义。
CSS 节点
GtkGrid
使用名称为 grid
的单个 CSS 节点。
辅助功能
直到 GTK 4.10,GtkGrid
使用 GTK_ACCESSIBLE_ROLE_GROUP
角色。
从 GTK 4.12 开始,GtkGrid
使用 GTK_ACCESSIBLE_ROLE_GENERIC
角色。
实例方法
从 GtkAccessible (19) 继承的方法
gtk_accessible_announce
请求用户的屏幕阅读器播报给定的消息。
自:4.14
gtk_accessible_get_accessible_parent
检索某个可访问对象的父级可访问对象。
自:4.10
gtk_accessible_get_accessible_role
检索某个可访问对象的 accessible 角色。
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) 继承的方法
从 GtkOrientable (2) 继承的方法
Properties
从 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)继承的属性
从 GtkOrientable(1)继承的属性
信号
从 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 信号。