希望使用用户可能尚未打开的图像文件。虽然看起来我只能在已经打开图像的情况下启用插件。在打开图像之前,Gimp 2.8附带的所有Python插件都将被禁用。通过许多示例进行搜索,似乎每个示例都需要在插件执行之前已经打开图像。
这是一个基本的helloworld.py
#!/usr/bin/env python
import gtk
from gimpfu import *
def plugin_main() :
message = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK)
message.set_markup("Please Help")
message.run()
gimp.quit()
register(
"helloworld",
"Saying Hi",
"Saying Hello to the World",
"William Crandell <william@crandell.ws>",
"William Crandell <william@crandell.ws>",
"2015",
"Hello Gimp",
"*",
[],
[],
plugin_main,
menu = "<Toolbox>/Hello/"
)
main()
几乎相关的问题GIMP, python-fu: How to disable "Input image" and "Input drawable"
答案 0 :(得分:1)
来自http://www.exp-media.com/content/extending-gimp-python-python-fu-plugins-part-4的报价
请注意,我使用了工具箱菜单输入字段,并清空了源 图像类型,这样,我们的插件出现在菜单中,你可以 即使没有打开图像也要选择它。
重要的部分是图像类型,它是插件框架的一部分,请参阅:http://www.gimp.org/docs/python/#plugin_framework
将"*"
作为&#39;图片类型&#39;插件期望任何图像作为初始输入的一部分,这意味着当前图像(因为通配符*
而接受的任何类型)将作为插件启动的一部分提供。将类型更改为""
相当于在启动期间不输入图像,因此允许插件在没有当前打开的图像的情况下运行。
#!/usr/bin/env python
import gtk
from gimpfu import *
def plugin_main() :
message = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK)
message.set_markup("Thank you Frederic Jaume -> \nhttp://www.exp-media.com/content/extending-gimp-python-python-fu-plugins-part-4")
message.run()
gimp.quit()
register(
"helloworld",
"Saying Hi",
"Saying Hello to the World",
"William Crandell <william@crandell.ws>",
"William Crandell <william@crandell.ws>",
"2015",
"Hello Gimp",
"",
[],
[],
plugin_main,
menu = "<Toolbox>/Hello/"
)
main()