【问题标题】:Using Gio.SimpleAction argument in stateless action在无状态操作中使用 Gio.SimpleAction 参数
【发布时间】:2018-10-24 15:40:35
【问题描述】:

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

我知道我可以在操作的连接调用中指定一个参数,但是处理程序中的第一个参数变为无。为该参数指定一个值似乎很有用,但我不知道这是如何完成的。

【问题讨论】:

    标签: gtk3 gio


    【解决方案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)
    

    【讨论】:

    • 谢谢。那么,如果动作是自动激活的(例如,通过鼠标点击菜单项),那么就没有办法指定参数了吗?
    • @beezergeezer 像 user_data 在信号连接中?好像没有。
    猜你喜欢
    • 2022-10-18
    • 2018-07-02
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    相关资源
    最近更新 更多