SikuliX 无法调用 makeOpts()

问题描述

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

问题是,无论我调用任何具有 Opt 修复术语的持久性相关 API,例如 makeOpts() ,引擎都会在出现错误后继续回答我,我如何使其工作?

[error] AttributeError ( 'org.sikuli.script.support.RunTime' 对象有 没有属性 'makeOpts' )

参考代码在这里,非常简单:

from sikuli import *

def trialOpts():
    obj = makeOpts()
    return

trialOpts()

相比之下,其他 API 像 click(),find() 在没有 AttributeError 消息的情况下运行良好,这意味着 Sikuli 的主引擎正在正常运行。

既然这些是 Sikuli 的原生 API,根据我的理解,它应该不必导入任何模块吗?为了确保这一点,我研究了 Github 上 Sikuli 的位源代码,带有术语 Opt 的 API 在 Sikuli.py 中精确定义:

enter image description here

到目前为止,我的线索已经不多了。请你帮忙。

解决方法

我再次查看了最新发布的代码,并且有其他可用的首选项处理方法(请参阅: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()
,

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

要查看这些方法的作用(并可能在 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