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 this GtkTextView implements_0 GtkAccessible this--implements_0 implements_1 GtkAccessibleText this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 implements_4 GtkScrollable this--implements_4 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

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)

请参阅 GtkWidget 方法。

GObject 继承的方法 (43)

请参阅 GObject 方法。

GtkAccessible 继承的方法 (19)
gtk_accessible_announce

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

since: 4.14

gtk_accessible_get_accessible_parent

检索可访问对象的父级。

since: 4.10

gtk_sensitive_get_accessible_role

检索可访问对象的可访问角色。

gtk_sensitive_get_at_context

检索给定可访问对象的实现。

since: 4.10

gtk_sensitive_get_bounds

查询此可访问的坐标和维度。

since: 4.10

gtk_sensitive_get_first_sensitive_child

检索可访问对象的第一个可访问子对象。

since: 4.10

gtk_accessible_get_next_accessible_sibling

获取可访问对象的下一个可访问兄弟对象。

since: 4.10

gtk_accessible_get_platform_state

查询平台状态,例如聚焦。

since: 4.10

gtk_accessible_reset_property

将可访问属性重置为其默认值。

gtk_accessible_reset_relation

将可访问关系重置为其默认值。

gtk_accessible_reset_state

将可访问状态重置为其默认值。

gtk_accessible_set_accessible_parent

设置可访问对象的双亲和兄弟。

since: 4.10

gtk_accessible_update_next_accessible_sibling

更新下一个可访问兄弟。

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

更新光标位置。

since: 4.14

gtk_accessible_text_update_contents

通知辅助技术内容发生变化。

since: 4.14

gtk_accessible_text_update_selection_bound

更新选择边界。

since: 4.14

继承自GtkBuildable(1种)的方法
gtk_buildable_get_buildable_id

获取buildable对象的ID。

继承自GtkScrollable(9种)的方法
gtk_scrollable_get_border

返回滚动对象外围非滚动边框的大小。

gtk_scrollable_get_hadjustment

检索用于水平滚动的GtkAdjustment

gtk_scrollable_get_hscroll_policy

获取水平GtkScrollablePolicy

gtk_scrollable_get_vadjustment

检索用于垂直滚动的GtkAdjustment

gtk_scrollable_get_vscroll_policy

获取垂直GtkScrollablePolicy

gtk_scrollable_set_hadjustment

设置GtkScrollable的水平调整。

gtk_scrollable_set_hscroll_policy

设置GtkScrollablePolicy

gtk_scrollable_set_vadjustment

设置GtkScrollable的垂直调整。

gtk_scrollable_set_vscroll_policy

设置GtkScrollablePolicy

属性

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)继承的属性
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

使用此代码来计算小部件的首选大小,并为其分配子代。

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实现的访问角色。

GtkScrollable(4)继承的属性
GtkScrollable:hadjustment

可滚动小部件的水平GtkAdjustment

GtkScrollable:hscroll-policy

确定何时开始水平滚动。

GtkScrollable:vadjustment

可滚动小部件的垂直GtkAdjustment

GtkScrollable:vscroll-policy

确定垂直滚动何时开始。

信号

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)
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 GtkTextViewClass {
  GtkWidgetClass parent_class;
  void (* move_cursor) (
    GtkTextView* text_view,
    GtkMovementStep step,
    int count,
    gboolean extend_selection
  );
  void (* set_anchor) (
    GtkTextView* text_view
  );
  void (* insert_at_cursor) (
    GtkTextView* text_view,
    const char* str
  );
  void (* delete_from_cursor) (
    GtkTextView* text_view,
    GtkDeleteType type,
    int count
  );
  void (* backspace) (
    GtkTextView* text_view
  );
  void (* cut_clipboard) (
    GtkTextView* text_view
  );
  void (* copy_clipboard) (
    GtkTextView* text_view
  );
  void (* paste_clipboard) (
    GtkTextView* text_view
  );
  void (* toggle_overwrite) (
    GtkTextView* text_view
  );
  GtkTextBuffer* (* create_buffer) (
    GtkTextView* text_view
  );
  void (* snapshot_layer) (
    GtkTextView* text_view,
    GtkTextViewLayer layer,
    GtkSnapshot* snapshot
  );
  gboolean (* extend_selection) (
    GtkTextView* text_view,
    GtkTextExtendSelection granularity,
    const GtkTextIter* location,
    GtkTextIter* start,
    GtkTextIter* end
  );
  void (* insert_emoji) (
    GtkTextView* text_view
  );
  
}

无描述。

类成员
parent_class: GtkWidgetClass

对象类结构需要是第一个。

move_cursor: void (* move_cursor) ( GtkTextView* text_view, GtkMovementStep step, int count, gboolean extend_selection )

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

set_anchor: void (* set_anchor) ( GtkTextView* text_view )

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

insert_at_cursor: void (* insert_at_cursor) ( GtkTextView* text_view, const char* str )

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

delete_from_cursor: void (* delete_from_cursor) ( GtkTextView* text_view, GtkDeleteType type, int count )

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

backspace: void (* backspace) ( GtkTextView* text_view )

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

cut_clipboard: void (* cut_clipboard) ( GtkTextView* text_view )

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

copy_clipboard: void (* copy_clipboard) ( GtkTextView* text_view )

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

paste_clipboard: void (* paste_clipboard) ( GtkTextView* text_view )

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

toggle_overwrite: void (* toggle_overwrite) ( GtkTextView* text_view )

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

create_buffer: GtkTextBuffer* (* create_buffer) ( GtkTextView* text_view )

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

snapshot_layer: void (* snapshot_layer) ( GtkTextView* text_view, GtkTextViewLayer layer, GtkSnapshot* snapshot )

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

extend_selection: gboolean (* extend_selection) ( GtkTextView* text_view, GtkTextExtendSelection granularity, const GtkTextIter* location, GtkTextIter* start, GtkTextIter* end )

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

insert_emoji: void (* insert_emoji) ( GtkTextView* text_view )

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

虚方法

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 键绑定信号的事件处理器。