首页 > 解决方案 > SikuliX 无法调用 makeOpts()

问题描述

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

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

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

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

from sikuli import *

def trialOpts():
    obj = makeOpts()
    return

trialOpts()

相比之下,click()、find()等其他 API工作正常,没有 AttributeError消息,这意味着 Sikuli 的主引擎正在运行。

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

在此处输入图像描述

到目前为止,我已经没有线索了。请你帮忙。

标签: jythonsikulisikuli-scriptsikuli-idesikuli-x

解决方案


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

推荐阅读