gpt4 book ai didi

QtScript:如何重新加载当前脚本?

转载 作者:行者123 更新时间:2023-12-02 10:57:54 26 4
gpt4 key购买 nike

QScriptEngine有evaluate()方法,可用于加载脚本、执行脚本以及从已加载的脚本运行指定的函数。但是如何清除当前脚本并加载新脚本呢?例如,我使用评估()从文件加载脚本,然后使用评估()获取脚本函数并调用它们。但是我可以做什么来清除当前脚本并从不同的文件加载新脚本?删除和创建 QScriptEngine 似乎是一个解决方案,但它喜欢在 GUI 线程中创建(由于 QScriptEngineDebugger),而所有脚本操作都在单独的线程中执行。那么有没有办法在不重新创建 QScriptEngine 对象的情况下清除当前脚本?

最佳答案

engine.pushContext();
engine.evaluate("...");
engine.popContext();
engine.pushContext();
engine.evaluate("...");
engine.popContext();

在评估脚本之前调用pushContext()以及在评估新脚本之前调用popContext()将有效地清除所有脚本数据。

关于QtScript:如何重新加载当前脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com