GtkShortcutController

说明 [src]

final class Gtk.ShortcutController : Gtk.EventController
  implements Gio.ListModel, Gtk.Buildable {
  /* No available fields */
}

GtkShortcutController 是一个管理快捷方式的事件控制器。

使用这个控制器管理很多常用的快捷方式,例如,添加 GtkLabel 的助记键下划线,或者使用 gtk_widget_class_add_binding() 安装一个按键绑定,或者通过 gtk_application_set_accels_for_action() 给全局动作添加加速键。

不过,你也可以创建自己的快捷方式控制器,并添加快捷方式到控制器中。

GtkShortcutController 实施 GListModel,以便查询已添加到控制器中的快捷方式。

GtkShortcutController 作为 GtkBuildable

GtkShortcutController 可以创建在 GtkBuilder UI 文件中,以在与小部件相同的地方设置快捷方式。

带有 GtkShortcutControllerUI 定义片段示例

  <object class='GtkButton'>
    <child>
      <object class='GtkShortcutController'>
        <property name='scope'>managed</property>
        <child>
          <object class='GtkShortcut'>
            <property name='trigger'>&lt;Control&gt;k</property>
            <property name='action'>activate</property>
          </object>
        </child>
      </object>
    </child>
  </object>

该示例创建一个 GtkActivateAction 来触发 GtkButtonactivate 信号。请参阅 gtk_shortcut_action_parse_string() 了解其他类型 GtkShortcutAction 的语法。请参阅 gtk_shortcut_trigger_parse_string() 了解有关触发器语法的更多信息。

层次结构

hierarchy this GtkShortcutController implements_0 GListModel this--implements_0 implements_1 GtkBuildable this--implements_1 ancestor_0 GtkEventController ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

构造函数

gtk_shortcut_controller_new

创建新的快捷方式控制器。

gtk_shortcut_controller_new_for_model

创建一个新的快捷方式控制器,它从给定的列表模型中获取其快捷方式。

实例方法

gtk_shortcut_controller_add_shortcut

shortcut 添加到 self 处理的快捷方式列表中。

gtk_shortcut_controller_get_mnemonics_modifiers

获取此控制器激活其快捷方式时的助记键修饰符。

gtk_shortcut_controller_get_scope

获取此控制器激活其快捷方式时的范围。

gtk_shortcut_controller_remove_shortcut

self 处理的快捷方式列表中移除 shortcut

gtk_shortcut_controller_set_mnemonics_modifiers

设置控制器对助记键使用给定的修饰符。

gtk_shortcut_controller_set_scope

设置控制器具有给定的 scope

GtkEventController(13)继承的方法
gtk_event_controller_get_current_event

返回控制器当前正在处理的事件。

gtk_event_controller_get_current_event_device

返回控制器当前正在处理的事件的设备。

gtk_event_controller_get_current_event_state

返回控制器当前正在处理的事件的修饰符状态。

gtk_event_controller_get_current_event_time

返回控制器当前正在处理的事件的时间戳。

gtk_event_controller_get_name

获取 `controller` 的名称。

gtk_event_controller_get_propagation_limit

获取事件控制器的传播限制。

gtk_event_controller_get_propagation_phase

获取 `controller` 处理事件的传播阶段。

gtk_event_controller_get_widget

返回此控制器与之关联的 `GtkWidget`。

gtk_event_controller_reset

将 `controller` 重置为清理状态。

gtk_event_controller_set_name

在控制器上设置名称,该名称可用于调试。

gtk_event_controller_set_propagation_limit

在事件控制器上设置事件传播限制。

gtk_event_controller_set_propagation_phase

设置控制器处理事件的传播阶段。

gtk_event_controller_set_static_name

在控制器上设置名称,该名称可用于调试。

自 4.8 起

GObject (43) 继承的方法

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

GListModel (5) 继承的方法
g_list_model_get_item

获取 `position` 处的项目。

g_list_model_get_item_type

获取 `list` 中项目的类型。

g_list_model_get_n_items

获取 `list` 中项目的数量。

g_list_model_get_object

获取 `position` 处的项目。

g_list_model_items_changed

在 `list` 上发出 `GListModel::items-changed` 信号。

GtkBuildable (1) 继承的方法
gtk_buildable_get_buildable_id

获取 `buildable` 对象的 ID

属性

Gtk.ShortcutController:item-type

项目类型。参见 `g_list_model_get_item_type()`。

自 4.8 起

Gtk.ShortcutController:mnemonic-modifiers

允许激活助记符所要按下的修饰符。

Gtk.ShortcutController:model

获取快捷方式的列表模型。

Gtk.ShortcutController:n-items

项目数量。参见 `g_list_model_get_n_items()`。

自 4.8 起

Gtk.ShortcutController:scope

快捷方式将在其中处理的范围。

GtkEventController (4) 继承的属性
Gtk.EventController:name

此控制器的名称,通常用于调试目的。

Gtk.EventController:propagation-limit

此控制器将处理的事件的限制。

Gtk.EventController:propagation-phase

此控制器将处理事件的传播阶段。

Gtk.EventController:widget

接收控制器将处理的 `GdkEvents` 的小部件。

信号

GObject (1) 继承的信号
GObject::notify

当对象的某个属性通过 g_object_set_property()、g_object_set() 等等设置其值时,会在对象上发出 notify 信号。

GListModel (1) 继承的信号
GListModel::items-changed

每次在 `list` 中添加或删除项目时,都会发出此信号。在 `position` 处,`removed` 个项目被移除,`added` 个项目被添加在其位置处。

类结构

struct GtkShortcutControllerClass {
  /* no available fields */
}

无可用描述。