如何解决AttributeError:inkex.Effect 实例没有属性 'arg_parser'
我正在尝试为教育目的开发一个基本的inkscape 扩展。我一直在阅读它,据我所知,有一个旧语法和一个新语法,inkscape 开发人员希望我们使用它们。我已经从主存储库下载了inkex 库,但是当我从使用新语法开发的扩展复制代码时,它返回一个错误。另一方面,当我使用从inkscape 源代码本身复制的旧语法时,它可以完美运行。我想使用新的,因为它看起来更加直观和强大。
我的源代码(新语法):
class Scalefit(inkex.Effect):
def __init__(self):
inkex.Effect.__init__(self)
self.arg_parser.add_argument('--prueba',action= 'store',type = str,dest = 'prueba',default = 'prueba',help= 'prueba')
源代码(旧语法,有效的):
class Scalefit(inkex.Effect):
def __init__(self):
inkex.Effect.__init__(self)
self.OptionParser.add_option(
"-x","--width",type=float,default=32,help="The canvas width")
最令人沮丧的是,当我查看其他扩展时,它们以相同的语法完美运行。
这是一个例子:https://github.com/KnoxMakers/KM-Laser/tree/master/extensions
解决方法
尝试不同的语法:
class Scalefit(inkex.Effect):
def add_arguments(self,pars):
pars.add_argument('--prueba',default ='prueba',help='prueba')
另见: https://gitlab.com/inkscape/extensions/-/blob/master/fractalize.py
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。