我试图让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行中引用它)但没有欢乐(也没有错误信息)。
答案 0 :(得分: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))
答案 1 :(得分:0)
确保通过调用()来传递函数的结果,而不是仅传递函数本身(这是省略括号时发生的情况)。例如,替换示例中的第14行:
( PF_DIRNAME, "directory", "Directory to save files to", get_directory() )
将评估函数get_directory
,它将返回一个字符串。
答案 2 :(得分:0)
(PF_DIRNAME, "path", "Save", os.getcwd())