c++ qt lua qtscript

c++ - ¿Qué tan fácil es Lua con Qt, en comparación con QtScript?



(2)

Estoy comenzando el desarrollo de C ++ usando Qt. Sin embargo, también estoy interesado en utilizar Lua para escribir mi aplicación, dado varios artículos que indican su velocidad de desarrollo (facilidad) para escribir el flujo de trabajo / ui / pegamento de una aplicación. Sin embargo, de inmediato Qt no lo admite, en cambio incluye QtScript.

Mi pregunta es, básicamente, si debo intentar usar Lua con Qt para desarrollar una aplicación comercial o si me quedo con QtScript disponible en el SDK. Principalmente una pregunta de velocidad de desarrollo vs. estabilidad, supongo.


Javascript está tan bien integrado en este momento, si desea integrar lua probablemente tendrá un esfuerzo inicial mucho más alto. Además, la implementación actual (4.6) utiliza el motor javascript webkit, lo que significa que es sorprendentemente rápido.

He usado Javascript y Qt para un proyecto actual y fue muy fácil transportar datos de cualquier manera (de Qt a Javascript y viceversa)


He encontrado el mismo dilema. Prefiero Lua a ECMAScript para este tipo de tareas. Sin embargo, tan fácil como es escribir enlaces Lua, el nivel de integración proporcionado por QtScript ofrece una gran cantidad de capacidades listas para usar . Esto incluye enlaces a las clases heredadas de QObject incorporadas, así como sus propias clases que heredan de QObject y / o QScriptClass .

Por lo tanto, si solo quieres crear guiones o configurar tus propias clases independientemente de la funcionalidad de Qt, entonces iría con Lua. Sin embargo, si desea principalmente interactuar con tipos basados ​​en QObject, entonces QtScript disminuirá en gran medida su tiempo de desarrollo inicial.

Lo mejor de ambos mundos sería la opción de analizar los guiones Lua con una implementación alternativa de QScriptEngine . He tenido la intención de ver qué tan difícil sería integrar durante algún tiempo ...

ACTUALIZACIÓN : QtLua todavía se mantiene activamente y podría resolver su problema directamente.