如何中止QJSEngine评估

tom*_*cat 5 c++ qt qml

如果评估一些具有无限循环的脚本,如何中止评估过程.

例如:在后台线程中评估一些错误的JS:

QJSEngine发动机;

void threadproc() {
    engine.evaluate("while(1){}");
}
Run Code Online (Sandbox Code Playgroud)

如何让用户选择在主(GUI)线程中中止评估.

Ste*_*uan 2

Qt 5.14 中引入了新的 QJSEngine 方法来帮助中止无限运行的执行: