1

我试图让 gimp 在“另存为”插件中使用合理的默认路径,为此我需要能够用函数的返回值指定默认值(我相信)。

目前,我的代码是这样的:

def do_the_foo(image, __unused_drawable, directory):
    # ... do something

register(
    "python_fu_something",
    "Blah de blah",
    "Blah de blah",
    "Blah de blah",
    "Blah de blah",
    "2013",
    "<Image>/File/Save as blah...",
    "*",
    [
        (PF_DIRNAME, "directory", "Directory to save files to", "/")
    ],
    [],
    do_the_foo
)

自然这意味着弹出的对话框以“/”作为默认目录。这并不理想。我希望它从当前加载的图像的路径开始(如果已知),然后如果当前加载的图像没有路径(不保存,无论如何),则回退到“/”。

但要到达那里,我需要知道如何用函数替换“/”。我已经尝试过这样做(创建一个函数,在 PF_DIRNAME 行中引用它)但没有乐趣(也没有错误消息)。

4

3 回答 3

0

我没有测试它,但也许......

import os
[...]

(PF_DIRNAME, "directory", "Directory to save files to", os.curdir)

或类似的东西:

(PF_DIRNAME, "directory", "Directory to save files to", os.path.realpath(os.curdir))        
于 2013-10-30T13:07:56.150 回答
0

确保通过调用()传递函数的结果,而不仅仅是传递函数本身(省略括号时会发生这种情况)。例如,替换示例中的第 14 行:

( PF_DIRNAME, "directory", "Directory to save files to", get_directory() )

将评估 function get_directory,该 function 预计将返回一个字符串。

于 2013-11-10T07:38:27.397 回答
0
(PF_DIRNAME, "path", "Save", os.getcwd())
于 2016-12-16T16:54:16.150 回答