类
GtkText
描述 [src]
final class Gtk.Text : Gtk.Widget
implements Gtk.Accessible, Gtk.AccessibleText, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Editable {
/* No available fields */
}
单行文本 条目。
GtkText
是单行文本编辑的通用实现,在 GtkEntry
、GtkPasswordEntry
、GtkSpinButton
和其他小组件中共享。在所有这些中,GtkText
实例用作 GtkEditable
实现的委托。
默认情况下支持大量键绑定。如果输入的文本超出了小组件的分配,小组件将滚动,以便光标位置可见。
使用输入框输入密码和其他敏感信息时,可以使用 gtk_text_set_visibility()
将其置于“密码模式”。在此模式下,输入的文本使用“不可见”字符显示。默认情况下,GTK 会选取当前字体中可用的最佳不可见字符,但可以使用 gtk_text_set_invisible_char()
进行更改。
如果希望在输入框中添加图标或进度显示,请查看 GtkEntry
。针对更专业化的用例还有其他选择,例如 GtkSearchEntry
。
如果需要多行可编辑文本,请使用 GtkTextView
。
快捷方式和手势
GtkText
支持以下键盘快捷方式
- Shift+F10 或 Menu 打开上下文菜单。
- Ctrl+A 或 Ctrl+/ 选择全部文本。
- Ctrl+Shift+A 或 Ctrl+\ 取消选择所有内容。
- Ctrl+Z 撤消上一次修改。
- Ctrl+Y 或 Ctrl+Shift+Z 重做上一次撤消的修改。
- Ctrl+Shift 设置文本方向。左键将其设置为 LTR,右键将其设置为 RTL。
此外,以下信号具有默认键绑定
GtkText::activate
GtkText::backspace
GtkText::copy-clipboard
GtkText::cut-clipboard
GtkText::delete-from-cursor
GtkText::insert-emoji
GtkText::move-cursor
GtkText::paste-clipboard
GtkText::toggle-overwrite
动作
GtkText
定义一组内置动作
clipboard.copy
将内容复制到剪贴板。clipboard.cut
将内容复制到剪贴板并将其从小组件中删除。clipboard.paste
将剪贴板的内容插入到小组件中。menu.popup
打开上下文菜单。misc.insert-emoji
打开表情符号选择器。misc.toggle-visibility
切换GtkText
:visibility 属性。misc.toggle-direction
切换文本方向。selection.delete
删除当前选择。selection.select-all
选择所有小组件内容。text.redo
重做对内容的最后一次更改。text.undo
撤消对内容的最后一次更改。
CSS 节点
text[.read-only]
├── placeholder
├── undershoot.left
├── undershoot.right
├── [selection]
├── [cursor-handle[.top]
├── [cursor-handle.bottom]
├── [block-cursor]
├── [cursor-handle[.top/.bottom][.insertion-cursor]]
╰── [window.popup]
GtkText
有一个主节点,名称为 text
。根据小组件的属性,.read-only
样式类可能会出现。
当输入框有选择时,将添加一个名称为 selection
的子节点。
当输入框处于覆盖模式时,将添加一个名称为 block-cursor
的子节点,它确定块光标的绘制方式。
上下文菜单的 CSS 节点作为名称为 popup
的子节点添加。
在内容滚动出视野时,undershoot
节点用于绘制下溢指示。根据指示绘制的位置,这些节点会添加 .left
或 .right
样式类。
在使用触摸且显示触摸选择手柄时,它们使用名为 cursor-handle
的 CSS 节点。根据显示在选择中的位置,它们获取 .top
或 .bottom
样式类。如果仅为文本光标提供了一个手柄,则它获取样式类 .insertion-cursor
。
辅助功能
GtkText
使用 GTK_ACCESSIBLE_ROLE_NONE
角色,这导致其跳过辅助功能。因为预期将 GtkText
用作将表示为辅助功能的 GtkEditable
实现的委托。
实例方法
继承自 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
更新可访问 状态数组。
继承自 GtkAccessibleText(3)的方法
gtk_accessible_text_update_caret_position
更新 光标的位置。
自 4.14 起
gtk_accessible_text_update_contents
通知辅助技术内容发生了 更改。
自 4.14 起
gtk_accessible_text_update_selection_bound
更新 选择范围的边界。
自 4.14 起
继承自 GtkBuildable(1)的方法
继承自 GtkEditable(24)的方法
有关方法的完整列表,请参阅 GtkEditable。
属性
从 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)
继承自 GtkEditable 的属性 (8)
GtkEditable:cursor-position
插入光标的当前位置(以字符计)。
GtkEditable:editable
条目内容是否可编辑。
GtkEditable:enable-undo
是否为可编辑元素启用撤消/重做功能。
GtkEditable:max-width-chars
条目期望的最大宽度(以字符计)。
GtkEditable:selection-bound
光标在选中区域另一端的相对字符位置。
GtkEditable:text
条目的内容。
GtkEditable:width-chars
条目可留用的字符数。
GtkEditable:xalign
水平对齐方式,范围从 0(左)到 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 信号。
继承自 GtkEditable 的信号 (3)
GtkEditable::changed
在对内容进行用户可见的单次操作的结尾发出。
GtkEditable::delete-text
用户从窗口小部件删除文本时发出。
GtkEditable::insert-text
用户将文本插入窗口小部件时发出。