文件列表作为GtkApplication CLI的可选参数

时间:2017-01-29 02:18:48

标签: python gtk gtk3 glib

我正在编写一个python gtk3应用程序,并希望使用文件列表作为可选参数之一。以下是它的工作原理的简单示例:

import gi
import sys
gi.require_version('Gtk', '3.0')
from gi.repository import GLib, Gio, Gtk

class Application(Gtk.Application):
    """Pure testing application without window and loop"""
    def __init__(self, *args, **kwargs):
        super().__init__(application_id="org.example.myapp", flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE)
        self.add_main_option("test", ord("t"), GLib.OptionFlags.NONE, GLib.OptionArg.STRING_ARRAY, "Test file list", None)

    def do_command_line(self, command_line):
        options = command_line.get_options_dict()
        if options.contains("test"):
            print(options.lookup_value("test"))
        return 0

if __name__ == "__main__":
    app = Application()
    app.run(sys.argv)

如果使用python3 testapp.py -t file1.txt file2.txt file3.txt运行此文件,则只会缓存第一个文件名。它可以根据需要使用python3 testapp.py -t file1.txt -t file2.txt -t file3.txt,但它不适合我。

有人可以建议将文件列表作为可选参数发送的正确方法吗?

0 个答案:

没有答案