Если вы не готовы написать свой собственный отладчик сценариев, похоже, нет способа запустить отладчик в другом потоке, чем движок.
За кулисами QScriptEngineDebugger
использует класс с именем QScriptEngineDebuggerFrontend
, который, в свою очередь, использует класс с именем QScriptEngineDebuggerBackend
, который, в свою очередь, выполняет множество прямых вызовов механизма и устанавливает в него свой собственный агент. Короче говоря, между отладчиком и двигателем существует большая связь.
Альтернативой является инкапсуляция вашей трудоемкой функции C ++ внутри класса, который запускает трудоемкую функцию в фоновом потоке и издает сигнал, когда трудоемкая функция завершена. Затем подключите сигнал к функции в вашем скрипте для обработки результатов. Обратитесь к следующей документации о том, как подключить сигналы от ваших объектов C ++ к функциям в вашем скрипте:
http://doc.trolltech.com/4.5/qtscript.html#using-signals-and-slots