GtkTextView

[]

描述 [src]

class Gtk.TextView : Gtk.Widget
  implements Gtk.Accessible, Gtk.AccessibleText, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Scrollable {
  /* No available fields */
}

显示 GtkTextBuffer 内容的小部件。

An example GtkTextView

您可能想先阅读 概念概述,它概述了与文本小部件相关的所有对象和数据类型以及它们如何协同工作。

快捷键与手势

GtkTextView 支持以下键盘快捷键

  • Shift+F10Menu 打开上下文菜单。
  • Ctrl+Z 撤销最后修改。
  • Ctrl+YCtrl+Shift+Z可以重做上一步撤销的修改。

此外,以下信号有默认的快捷键:

操作

GtkTextView定义了一组内置操作

  • clipboard.copy将内容复制到剪贴板。
  • clipboard.cut将内容复制到剪贴板并从小部件中删除。
  • clipboard.paste将剪贴板的内容插入到小部件中。
  • menu.popup打开上下文菜单。
  • misc.insert-emoji打开表情符号选择器。
  • selection.delete删除当前选择。
  • selection.select-all选择小部件的所有内容。
  • text.redo重做对内容的最后更改。
  • text.undo撤销对内容的最后更改。

CSS 节点

textview.view
├── border.top
├── border.left
├── text
│   ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]

GtkTextView有一个名称为textview且样式类为.view的根CSS节点,以及border窗口的主文本区域,其子节点分别为border和text,分别有多种边框节点,每个都有一个样式类.left、.right、.top或.bottom。

表示选择的节点将出现在文本节点下方。

如果打开上下文菜单,窗口节点将作为主节点的子节点出现。

无障碍访问

GtkTextView使用GTK_ACCESSIBLE_ROLE_TEXT_BOX角色。

[]

层次结构

hierarchy - GTK 文档 this - GTK 文档 GtkTextView implements_0 - GTK 文档 GtkAccessible this--implements_0 - GTK 文档 implements_1 - GTK 文档 GtkAccessibleText this--implements_1 - GTK 文档 implements_2 - GTK 文档 GtkBuildable this--implements_2 - GTK 文档 implements_3 - GTK 文档 GtkConstraintTarget this--implements_3 - GTK 文档 implements_4 - GTK 文档 GtkScrollable this--implements_4 - GTK 文档 ancestor_0 - GTK 文档 GtkWidget ancestor_0--this - GTK 文档 ancestor_1 - GTK 文档 GInitiallyUnowned ancestor_1--ancestor_0 - GTK 文档 ancestor_2 - GTK 文档 GObject ancestor_2--ancestor_1 - GTK 文档
[]

构造函数

gtk_text_view_new

创建一个新的GtkTextView

gtk_text_view_new_with_buffer

创建一个新的GtkTextView小部件,显示buffer缓冲区。

[]

实例方法

gtk_text_view_add_child_at_anchor

在给定anchor的文本缓冲区中添加子小部件。

gtk_text_view_add_overlay

GtkTextView的文本窗口中添加固定坐标的子节点child

gtk_text_view_backward_display_line

将给定iter向后移动一个显示(包装)行。

gtk_text_view_backward_display_line_start

将给定iter向后移动到下一个显示行起始位置。

gtk_text_view_buffer_to_window_coords

将缓冲区坐标转换为窗口坐标。

gtk_text_view_forward_display_line

将给定iter向前移动一个显示(包装)行。

gtk_text_view_forward_display_line_end

将给定iter向前移动到下一个显示行结束位置。

gtk_text_view_get_accepts_tab

返回是否按下Tab键插入制表符字符。

gtk_text_view_get_bottom_margin

获取text_view中文本的底部边距。

gtk_text_view_get_buffer

返回由该文本视图显示的GtkTextBuffer

gtk_text_view_get_cursor_locations

如果插入点在iter,则确定强光标和弱光标的位置。

gtk_text_view_get_cursor_visible

确定是否应显示光标。

gtk_text_view_get_editable

返回GtkTextView的默认可编辑性。

gtk_text_view_get_extra_menu

获取添加到上下文菜单或为NULL的菜单模型(如果未设置)。

gtk_text_view_get_gutter

获取一个之前已设为边距的 GtkWidget

gtk_text_view_get_indent

获取文本视图中段默认缩进。

gtk_text_view_get_input_hints

获取 GtkTextViewinput-hints

gtk_text_view_get_input_purpose

获取 GtkTextViewinput-purpose

gtk_text_view_get_iter_at_location

获取缓冲区坐标点 xy 的迭代器。

gtk_text_view_get_iter_at_position

获取指向缓冲区坐标 xy 处字符的迭代器。

gtk_text_view_get_iter_location

获取大致包含字符 iter 的矩形。

gtk_text_view_get_justification

获取文本视图中段落的默认对齐方式。

gtk_text_view_get_left_margin

获取文本视图中段落的默认左边距大小。

gtk_text_view_get_line_at_y

获取包含坐标 y 的行的起始位置的 GtkTextIter

gtk_text_view_get_line_yrange

获取包含 iter 的行的顶部 Y 坐标和行的高。

gtk_text_view_get_ltr_context

获取用于渲染带有 LTR 方向文本布局的 PangoContext

自:4.4

gtk_text_view_get_monospace

获取是否使用等宽字体样式。

gtk_text_view_get_overwrite

返回 GtkTextView 是否处于覆盖模式。

gtk_text_view_get_pixels_above_lines

获取放置在段落上方的默认像素数。

gtk_text_view_get_pixels_below_lines

获取放置在段落下方的默认像素数。

gtk_text_view_get_pixels_inside_wrap

获取在段落内折行之间的默认像素数。

gtk_text_view_get_right_margin

获取文本视图中文本的默认右边距。

gtk_text_view_get_rtl_context

获取用于渲染带有 RTL 方向文本布局的 PangoContext

自:4.4

gtk_text_view_get_tabs

获取文本视图中默认的制表符。

gtk_text_view_get_top_margin

获取文本视图中文本的顶部边距。

gtk_text_view_get_visible_offset

获取文本视图中文本内容左上角在缓冲区坐标中的 X,Y 偏移。

不稳定 自:4.18

gtk_text_view_get_visible_rect

在缓冲区坐标中将缓冲区当前可见区域填充到 visible_rect 中。

gtk_text_view_get_wrap_mode

获取视图的文本换行模式。

gtk_text_view_im_context_filter_keypress

允许 GtkTextView 输入法内部处理按键和释放事件。

gtk_text_view_move_mark_onscreen

将标记在缓冲区中移动,以便其在当前可见文本区域内部。

gtk_text_view_move_overlay

更新子元素的位置。

gtk_text_view_move_visually

基于强光标位置,将迭代器移动指定的字符数。

gtk_text_view_place_cursor_onscreen

将光标移动到缓冲区的当前可见区域。

gtk_text_view_remove

text_view 中移除子窗口小控件。

gtk_text_view_reset_cursor_blink

确保光标可见。

gtk_text_view_reset_im_context

如果需要,重置文本视图的输入法上下文。

gtk_text_view_scroll_mark_onscreen

滚动 text_view 至最小距离,使得 mark 包含在组件的可视区域内。

gtk_text_view_scroll_to_iter

text_view 滚动,使得 iter 在屏幕上位于 xalignyalign 指示的位置。

gtk_text_view_scroll_to_mark

text_view 滚动,使得 mark 在屏幕上位于 xalignyalign 指示的位置。

gtk_text_view_set_accepts_tab

设置在按下 Tab 键时文本组件的行为。

gtk_text_view_set_bottom_margin

设置 text_view中文本的底部边距。

gtk_text_view_set_buffer

buffer 设置为 text_view 正在显示的缓冲区。

gtk_text_view_set_cursor_visible

切换是否应显示插入点。

gtk_text_view_set_editable

设置 GtkTextView 的默认可编辑性。

gtk_text_view_set_extra_menu

设置构建 text_view 的上下文菜单时添加的菜单模型。

gtk_text_view_set_gutter

widget 放入由 win 指定的小巷。

gtk_text_view_set_indent

设置 text_view 中段落默认缩进。

gtk_text_view_set_input_hints

设置 GtkTextViewinput-hints

gtk_text_view_set_input_purpose

设置 GtkTextViewinput-purpose

gtk_text_view_set_justification

设置 text_view 中文本的默认对齐方式。

gtk_text_view_set_left_margin

设置 text_view 中文本的默认左边距。

gtk_text_view_set_monospace

设置 GtkTextView 是否应以等宽样式显示文本。

gtk_text_view_set_overwrite

更改 GtkTextView 的覆盖模式。

gtk_text_view_set_pixels_above_lines

设置 text_view 中段落上方默认空白像素数。

gtk_text_view_set_pixels_below_lines

设置 text_view 中段落下方默认空白像素数。

gtk_text_view_set_pixels_inside_wrap

设置段落在显示/包裹行之间默认空白像素数。

gtk_text_view_set_right_margin

设置 text_view 中文本的默认右边距。

gtk_text_view_set_tabs

设置 text_view 中段落的默认标签停止。

gtk_text_view_set_top_margin

设置 text_view 中文本的顶部边距。

gtk_text_view_set_wrap_mode

为视图设置行换行。

gtk_text_view_starts_display_line

确定 iter 是否在显示行的开始。

gtk_text_view_window_to_buffer_coords

win 标识的窗口上的坐标转换为缓冲区坐标。

GtkWidget 继承的方法 (162)
GObject 继承的方法 (43)
GtkAccessible 继承的方法 (19)
继承自GtkAccessibleText(3种)的方法
继承自GtkBuildable(1种)的方法
继承自GtkScrollable(9种)的方法
[]

属性

Gtk.TextView:accepts-tab

Tab键是否会导致输入制表符。

Gtk.TextView:bottom-margin

文本视图中文本的底部边距。

Gtk.TextView:buffer

用于显示的缓冲区。

Gtk.TextView:cursor-visible

是否显示插入光标。

Gtk.TextView:editable

用户是否可以修改文本。

Gtk.TextView:extra-menu

其内容将被附加到上下文菜单的菜单模型。

Gtk.TextView:im-module

应为文本视图使用哪个IM(输入法)模块。

Gtk.TextView:indent

段落缩进量,以像素为单位。

Gtk.TextView:input-hints

提供额外提示(超出GtkTextView:input-purpose),允许输入法微调其行为。

Gtk.TextView:input-purpose

此文本字段的用途。

Gtk.TextView:justification

左对齐、右对齐或居中对齐。

Gtk.TextView:left-margin

文本视图中文本默认左侧边距。

Gtk.TextView:monospace

是否应使用等宽字体显示文本。

Gtk.TextView:overwrite

输入的文本是否覆盖现有内容。

Gtk.TextView:pixels-above-lines

段落上方的空白空间像素数。

Gtk.TextView:pixels-below-lines

段落下方的空白空间像素数。

Gtk.TextView:pixels-inside-wrap

段落中换行线之间的空白空间像素。

Gtk.TextView:right-margin

文本视图中文本的默认右边距。

Gtk.TextView:tabs

该文本的定制制表符。

Gtk.TextView:top-margin

文本视图中文本的顶部边距。

Gtk.TextView:wrap-mode

是否在行内永远不换行,或在单词边界换行或在字符边界换行。

GtkWidget(34)继承的属性
GtkAccessible(1)继承的属性
GtkScrollable(4)继承的属性
[]

信号

Gtk.TextView::backspace

当用户请求时发出。

Gtk.TextView::copy-clipboard

用于将选择内容复制到剪贴板。

Gtk.TextView::cut-clipboard

用于将选择内容剪切到剪贴板。

Gtk.TextView::delete-from-cursor

当用户开始文本删除时发出。

Gtk.TextView::extend-selection

当需要在 location 处扩展选择时发出。

Gtk.TextView::insert-at-cursor

当用户开始插入固定字符串到光标处时发出。

Gtk.TextView::insert-emoji

用于显示 text_view 的表情符号选择器。

Gtk.TextView::move-cursor

当用户开始光标移动时发出。

Gtk.TextView::move-viewport

用于移动视口。

Gtk.TextView::paste-clipboard

用于将剪贴板内容粘贴到文本视图。

Gtk.TextView::preedit-changed

当活动 IM 的预编辑文本变化时发出。

Gtk.TextView::select-all

用于选择或取消选择文本视图的全部内容。

Gtk.TextView::set-anchor

当用户开始设置“锚点”标记时发出。

Gtk.TextView::toggle-cursor-visible

用于切换 cursor-visible 属性。

Gtk.TextView::toggle-overwrite

用于切换文本视图的覆盖模式。

GtkWidget 继承信号(13)
GObject 继承信号(1)

类结构

[]

虚方法

Gtk.TextViewClass.backspace

GtkTextView 类中用于处理 backspace 键绑定信号的事件处理器。

Gtk.TextViewClass.copy_clipboard

GtkTextView 类中用于处理 copy-clipboard 键绑定信号的事件处理器。

Gtk.TextViewClass.create_buffer

调用 create_buffer 虚函数来为文本视图创建一个 GtkTextBuffer。默认实现仅仅是调用 gtk_text_buffer_new()。

Gtk.TextViewClass.cut_clipboard

GtkTextView 类中用于处理 cut-clipboard 键绑定信号的事件处理器。

Gtk.TextViewClass.delete_from_cursor

GtkTextView 类中用于处理 delete-from-cursor 键绑定信号的事件处理器。

Gtk.TextViewClass.extend_selection

GtkTextView 类中用于处理 extend-selection 信号的事件处理器。

Gtk.TextViewClass.insert_at_cursor

处理 GtkTextView::insert-at-cursor 键绑定信号的事件处理函数。

Gtk.TextViewClass.insert_emoji

GtkTextView 类中用于处理 insert-emoji 信号的事件处理器。

Gtk.TextViewClass.move_cursor

处理 GtkTextView::move-cursor 键绑定信号的事件处理函数。

Gtk.TextViewClass.paste_clipboard

GtkTextView 类中用于处理 paste-clipboard 键绑定信号的事件处理器。

Gtk.TextViewClass.set_anchor

处理 GtkTextView::set-anchor 键绑定信号的事件处理函数。

Gtk.TextViewClass.snapshot_layer

在文本视图绘制其自身文本之前和之后调用 snapshot_layer 虚函数。应用程序可以通过在子类中重写此虚函数来在文本下方或上方绘制自定义内容。在 GTK_TEXT_VIEW_LAYER_BELOW_TEXTGTK_TEXT_VIEW_LAYER_ABOVE_TEXT 层,绘制是在缓冲区坐标系空间中完成的。

Gtk.TextViewClass.toggle_overwrite

GtkTextView 类中用于处理 toggle-overwrite 键绑定信号的事件处理器。