Использование аргумента Gio.SimpleAction в действиях без сохранения состояния - PullRequest
0 голосов
/ 24 октября 2018

В документации по Gio.SimpleAction.new говорится, что я могу указать имя, которое является строкой, и тип параметра, который является GLib.VariantType (или None).Если я указываю GLib.VariantType для второго аргумента, как мне указать его значение?

Я знаю, что могу указать аргумент в вызове соединения для действия, но тогда первый аргумент в обработчике получитНикто.Кажется, что было бы полезно указать значение для этого аргумента, но я не вижу, как это сделать.

1 Ответ

0 голосов
/ 25 октября 2018

Вы указываете его значение в 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)
...