Как получить стандартный вывод из QJSEngine в Qt 5.12?

Я включил ConsoleExtension для отладки скриптов с помощью вызова installExtensions, Как я могу захватить вывод консоли QJSEngine?

0 ответов

Если вы хотите записать вывод сценария обратно в свою программу на C++, лучше всего, если вы не используете ConsoleExtension - вместо этого предоставьте API, чтобы позволить сценарию вызывать вашу реализацию напрямую для "печати на стандартный вывод".

Возьмем, к примеру, то, что делает Plasma ScriptEngine - он предоставляетprint() метод на globalObjectкоторые сценарии могут использовать для "вывода на печать". В Plasma это будет распечатано из процесса Plasmashell и захвачено различными механизмами регистрации, но вы можете делать все, что хотите, с вводом в вашprint()функция. Интерфейс вашего глобального объекта может даже имитироватьconsole.log().

Другие вопросы по тегам