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



我通过调用installExtensions启用了用于调试脚本的ConsoleExtension。如何捕获 QJSEngine 的控制台输出?

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

以 Plasma ScriptEngine 所做的为例 - 它在脚本可用于"打印输出"的globalObject上公开了一个print()方法。在 Plasma 中,它将从 Plasmashell 进程中打印出来并由各种日志记录机制捕获,但您可以使用print()函数的输入执行所需的操作。您的全局对象接口甚至可以模仿console.log()

相关内容

  • 没有找到相关文章

最新更新