类
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 文件中,以在与小部件相同的地方设置快捷方式。
带有 GtkShortcutController
的 UI 定义片段示例
<object class='GtkButton'>
<child>
<object class='GtkShortcutController'>
<property name='scope'>managed</property>
<child>
<object class='GtkShortcut'>
<property name='trigger'><Control>k</property>
<property name='action'>activate</property>
</object>
</child>
</object>
</child>
</object>
该示例创建一个 GtkActivateAction
来触发 GtkButton
的 activate
信号。请参阅 gtk_shortcut_action_parse_string()
了解其他类型 GtkShortcutAction
的语法。请参阅 gtk_shortcut_trigger_parse_string()
了解有关触发器语法的更多信息。
实例方法
从 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 起
从 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) 继承的方法
属性
从 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` 个项目被添加在其位置处。