【发布时间】:2018-10-24 15:40:35
【问题描述】:
Gio.SimpleAction.new 的文档说我可以指定一个名称,即字符串和参数类型,即 GLib.VariantType(或 None)。如果我为第二个参数指定 GLib.VariantType,我该如何指定它的值?
我知道我可以在操作的连接调用中指定一个参数,但是处理程序中的第一个参数变为无。为该参数指定一个值似乎很有用,但我不知道这是如何完成的。
【问题讨论】:
Gio.SimpleAction.new 的文档说我可以指定一个名称,即字符串和参数类型,即 GLib.VariantType(或 None)。如果我为第二个参数指定 GLib.VariantType,我该如何指定它的值?
我知道我可以在操作的连接调用中指定一个参数,但是处理程序中的第一个参数变为无。为该参数指定一个值似乎很有用,但我不知道这是如何完成的。
【问题讨论】:
您在 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)
【讨论】:
user_data 在信号连接中?好像没有。