Gio.SimpleAction.new的文档说,我可以指定一个名称(它是字符串)和一个参数类型(它是GLib.VariantType(或无))。如果我为第二个参数指定GLib.VariantType,如何指定其值?
我知道我可以在该操作的connect调用中指定一个参数,但是随后处理程序中的第一个参数变为None。似乎为该参数指定一个值似乎很有用,但我不知道如何实现。
答案 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)