应用程序命令行 int 选项的值为 0 不可用

问题描述 投票:0回答:1

我正在尝试使用 GLib/GTK 附带的命令行选项处理程序,以便其他 GTK 选项在我的应用程序中也可用。

当我有 GLib.OptionArg.INT 选项,并且提供了 0 值时,该选项在 Gio.ApplicationCommandLine.get_options_dict()

中不可用

即以下代码将打印

Value: None
。我希望它能打印出
Value: 0
。我怎样才能让它做到这一点?

import gi

gi.require_version("Gio", "2.0")
gi.require_version("GLib", "2.0")

from gi.repository import Gio, GLib


app = Gio.Application(
    application_id="test.command-line",
    flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE,
)

app.add_main_option(
    "value", 0, GLib.OptionFlags.NONE, GLib.OptionArg.INT, "Int value", None
)


def command_line(app, command_line: Gio.ApplicationCommandLine):
    command_line_dict = command_line.get_options_dict()
    value = command_line_dict.lookup_value("value", GLib.VariantType.new("i"))
    print(f"Value: {value}")
    return 0


app.connect("command_line", command_line)
app.run(["--value", "0"])
gtk pygtk glib pygobject
1个回答
0
投票

如果用户将选项设置为其默认值(在本例中为零),则这是通过 GApplication 传递选项的

 已知问题

© www.soinside.com 2019 - 2024. All rights reserved.