QAxScript Class
La clase QAxScript proporciona una envoltura alrededor del código script. Más...
| Cabecera: | #include <QAxScript> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS AxContainer)target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake: | QT += axcontainer |
| Hereda: | QObject |
Tipos Públicos
| enum | FunctionFlags { FunctionNames, FunctionSignatures } |
Funciones Públicas
| QAxScript(const QString &name, QAxScriptManager *manager) | |
| virtual | ~QAxScript() override |
| QVariant | call(const QString &function, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant()) |
| QVariant | call(const QString &function, QList<QVariant> &arguments) |
| QStringList | functions(QAxScript::FunctionFlags flags = FunctionNames) const |
| bool | load(const QString &code, const QString &language = QString()) |
| QString | scriptCode() const |
| QAxScriptEngine * | scriptEngine() const |
| QString | scriptName() const |
Señales
| void | entered() |
| void | error(int code, const QString &description, int sourcePosition, const QString &sourceText) |
| void | finished() |
| void | finished(const QVariant &result) |
| void | finished(int code, const QString &source, const QString &description, const QString &help) |
| void | stateChanged(int state) |
Descripción detallada
Cada instancia de la clase QAxScript representa una pieza de código de secuencias de comandos en un lenguaje de secuencias de comandos en particular. El código se carga en el motor de scripts mediante load(). Las funciones declaradas en el código pueden invocarse mediante call().
El script proporciona scriptEngine() proporciona retroalimentación a la aplicación a través de señales. La señal más importante es la señal error(). El acceso directo a QAxScriptEngine se proporciona a través de la función scriptEngine().
Advertencia: Esta clase no está disponible con el compilador bcc5.5.
Ver también QAxScriptEngine, QAxScriptManager, QAxBase, y ActiveQt Framework.
Documentación de tipos de miembros
enum QAxScript::FunctionFlags
Este enum FunctionFlags describe el formato para la introspección de funciones.
| Constante | Valor | Descripción |
|---|---|---|
QAxScript::FunctionNames | 0 | Sólo se devuelven los nombres de las funciones. |
QAxScript::FunctionSignatures | 1 | Devuelve las funciones con firmas. |
Documentación de funciones miembro
QAxScript::QAxScript(const QString &name, QAxScriptManager *manager)
Construye un objeto QAxScript llamado name y lo registra con la clase QAxScriptManager manager . Esto lo hace normalmente la clase QAxScriptManager cuando loading a script.
Un script siempre debe tener un nombre. Es necesario un gestor para permitir que el código del script haga referencia a objetos de la aplicación. El manager toma posesión del objeto.
[override virtual noexcept] QAxScript::~QAxScript()
Destruye el objeto, liberando todos los recursos asignados.
QVariant QAxScript::call(const QString &function, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant())
Llama a function, pasando los parámetros var1, var1, var2, var3, var4, var5, var6, var7 y var8 como argumentos y devuelve el valor devuelto por la función, o un QVariant inválido si la función no devuelve un valor o cuando la llamada a la función falló.
Consulte QAxScriptManager::call() para obtener más información sobre cómo llamar a funciones de script.
QVariant QAxScript::call(const QString &function, QList<QVariant> &arguments)
Llama a function pasando arguments como parámetros, y devuelve el resultado. Devuelve cuando la ejecución del script ha finalizado.
Véase QAxScriptManager::call() para más información sobre cómo llamar a funciones de script.
Esta es una función sobrecargada.
[signal] void QAxScript::entered()
Esta señal se emite cuando un motor de script ha comenzado a ejecutar código.
[signal] void QAxScript::error(int code, const QString &description, int sourcePosition, const QString &sourceText)
Esta señal se emite cuando se produce un error de ejecución durante la ejecución de un script.
code, description, sourcePosition y sourceText contienen información sobre el error de ejecución.
[signal] void QAxScript::finished()
Esta señal se emite cuando un motor de script ha terminado de ejecutar código.
Nota: Esta señal está sobrecargada. Para conectarse a esta señal:
// Connect using qOverload:
connect(axScript, qOverload<>(&QAxScript::finished),
receiver, &ReceiverClass::slot);
// Or using a lambda:
connect(axScript, qOverload<>(&QAxScript::finished),
this, []() { /* handle finished */ });[signal] void QAxScript::finished(const QVariant &result)
result contiene el resultado del script. Este será un QVariant inválido si el script no tiene valor de retorno.
Nota: Esta señal está sobrecargada. Para conectarse a esta señal:
// Connect using qOverload: connect(axScript, qOverload(&QAxScript::finished), receiver, &ReceiverClass::slot); // Or using a lambda: connect(axScript, qOverload (&QAxScript::finished), this, [](const QVariant &result) { /* handle finished */ });
[signal] void QAxScript::finished(int code, const QString &source, const QString &description, const QString &help)
code, source, description y help contienen información de excepción cuando el script termina.
Nota: Esta señal está sobrecargada. Para conectarse a esta señal:
// Connect using qOverload: connect(axScript, qOverload(&QAxScript::finished), receiver, &ReceiverClass::slot); // Or using a lambda: connect(axScript, qOverload (&QAxScript::finished), this, [](int code, const QString &source, const QString &description, const QString &help) { /* handle finished */ });
QStringList QAxScript::functions(QAxScript::FunctionFlags flags = FunctionNames) const
Devuelve una lista de todas las funciones de este script si el motor de script correspondiente admite la introspección; en caso contrario, devuelve una lista vacía. Las funciones se proporcionan con prototipos completos o sólo como nombres, dependiendo del valor de flags.
Véase también QAxScriptEngine::hasIntrospection().
bool QAxScript::load(const QString &code, const QString &language = QString())
Carga la fuente del script code escrito en el lenguaje language en el motor de script. Devuelve true si code fue introducido con éxito en el motor de scripts; en caso contrario devuelve false.
Si language está vacío (por defecto) se determinará heurísticamente. Si code contiene la cadena End Sub se interpretará como VBScript, en caso contrario como JScript. Se pueden registrar lenguajes de script adicionales utilizando QAxScriptManager::registerEngine().
Esta función sólo puede llamarse una vez por cada objeto QAxScript, lo que se hace automáticamente al utilizar QAxScriptManager::load().
QString QAxScript::scriptCode() const
Devuelve el código del script, o la cadena nula si aún no se ha cargado ningún código.
Véase también load().
QAxScriptEngine *QAxScript::scriptEngine() const
Devuelve un puntero al motor de scripts.
Puede utilizar el objeto devuelto para conectar señales a las funciones de script, o para acceder directamente al motor de script.
QString QAxScript::scriptName() const
Devuelve el nombre del script.
[signal] void QAxScript::stateChanged(int state)
Esta señal se emite cuando un motor de script cambia de estado. state puede ser cualquier valor de la enumeración QAxScriptEngine::State.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.