在无状态动作中使用Gio.SimpleAction参数

时间:2018-10-24 15:40:36

标签: gtk3 gio

Gio.SimpleAction.new的文档说,我可以指定一个名称(它是字符串)和一个参数类型(它是GLib.VariantType(或无))。如果我为第二个参数指定GLib.VariantType,如何指定其值?

我知道我可以在该操作的connect调用中指定一个参数,但是随后处理程序中的第一个参数变为None。似乎为该参数指定一个值似乎很有用,但我不知道如何实现。

1 个答案:

答案 0 :(得分:1)

您在g_action_activate中指定它的值。

因此,您执行以下操作,例如布尔值:

vtype = GLib.VariantType.new("b")
action = Gio.SimpleAction.new("name", vtype)
# action.connect ("activate", handler, *args)
value = GLib.Variant.new_boolean (True)
a.activate(value)