如何在Qt 5.12中从QJSEngine获得标准输出?

时间:2019-02-03 22:51:37

标签: qt qjsengine

我通过调用installExtensionsConsoleExtension启用了脚本调试功能。如何捕获QJSEngine的控制台输出?

1 个答案:

答案 0 :(得分:0)

如果您想将脚本的输出捕获回C ++程序,最好不要使用ConsoleExtension-公开一个API,以允许脚本直接调用您的实现以进行打印到标准输出”。

例如,Plasma ScriptEngine的作用-它在print()上公开了globalObject方法,脚本可以使用该方法来“打印输出”。在Plasma中,可以从plasmashell过程中打印出来并通过各种日志记录机制捕获,但是您可以使用print()函数的输入来完成所需的操作。您的全局对象界面甚至可以模仿console.log()