SikuliX 无法调用 makeOpts()

SikuliX cannot call makeOpts()

我正在 windows 上研究 sikulixide-2.0.5。现在我想利用用户属性 write/read 函数来实现应用程序参数的持久化,所以我正在学习作为参考部分显示:https://sikulix-2014.readthedocs.io/en/latest/globals.html#saveOpts

问题是,无论我用固定术语 Opt 调用任何与持久性相关的 API ,例如 makeOpts() ,引擎都会继续回答我错误,如何让它工作?

[error] AttributeError ( 'org.sikuli.script.support.RunTime' object has no attribute 'makeOpts' )

参考代码在这里,很简单:

from sikuli import *

def trialOpts():
    obj = makeOpts()
    return

trialOpts()

相比之下,其他类型的 API,如 click()、find() 工作正常,没有 AttributeError 消息,也就是说Sikuli的主引擎正好是运行.

因为这些是 Sikuli 的原生 API,据我了解,它不应该导入任何模块吗?为了确保这一点,我在 Github 上研究了 Sikuli 的位源代码, APIs 与术语 OptSikuli.py 中被准确定义:

到目前为止,我 运行 没有线索。请你帮忙。

2.0.5 版本中似乎不存在那些“*Opts”便捷方法。看起来它们被重构了。

要查看这些方法的作用(并可能在 jython 中重新创建它们),请参阅:

https://www.javatips.net/api/SikuliX-2014-master/API/src/main/java/org/sikuli/script/RunTime.java

此外,如果您提取 pre-2.0.0 标签,github 项目似乎有代码:

https://github.com/RaiMan/SikuliX1

我再次查看了最新发布的代码,发现有其他可用的首选项处理方法(请参阅:org.sikuli.basics.PreferencesUser)

from sikuli import *
from org.sikuli.basics import PreferencesUser

def trialOpts():
    obj = PreferencesUser.get()
    obj.put("foo","bar")
    print obj.get("foo","bart")
    return

trialOpts()