Как получить стандартный вывод из QJSEngine в Qt 5.12?
Я включил ConsoleExtension
для отладки скриптов с помощью вызова installExtensions
, Как я могу захватить вывод консоли QJSEngine?
0 ответов
Если вы хотите записать вывод сценария обратно в свою программу на C++, лучше всего, если вы не используете ConsoleExtension
- вместо этого предоставьте API, чтобы позволить сценарию вызывать вашу реализацию напрямую для "печати на стандартный вывод".
Возьмем, к примеру, то, что делает Plasma ScriptEngine - он предоставляетprint()
метод на globalObject
которые сценарии могут использовать для "вывода на печать". В Plasma это будет распечатано из процесса Plasmashell и захвачено различными механизмами регистрации, но вы можете делать все, что хотите, с вводом в вашprint()
функция. Интерфейс вашего глобального объекта может даже имитироватьconsole.log()
.