Auf dieser Seite

QAxScript Class

Die Klasse „QAxScript“ dient als Wrapper für Skriptcode. Mehr...

Header: #include <qaxscript.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS AxContainer)
target_link_libraries(mytarget PRIVATE Qt6::AxContainer)
qmake: QT += axcontainer
Erbt von: QObject

Öffentliche Typen

enum FunctionFlags { FunctionNames, FunctionSignatures }

Öffentliche Funktionen

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

Signale

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)

Ausführliche Beschreibung

Jede Instanz der Klasse „QAxScript“ repräsentiert einen Skriptcode in einer bestimmten Skriptsprache. Der Code wird mithilfe von „ load()“ in die Skript-Engine geladen. Im Code deklarierte Funktionen können mithilfe von „ call()“ aufgerufen werden.

Das Skript stellt über die Funktion „ scriptEngine()“ Rückmeldungen an die Anwendung bereit. Das wichtigste Signal ist das Signal „ error()“. Der direkte Zugriff auf die „ QAxScriptEngine “ erfolgt über die Funktion „ scriptEngine()“.

Warnung: Diese Klasse ist mit dem bcc5.5-Compiler nicht verfügbar.

Siehe auch „ QAxScriptEngine“ , „ QAxScriptManager “, „ QAxBase “ und „ActiveQt Framework“.

Dokumentation zu den Mitgliedstypen

enum QAxScript::FunctionFlags

Diese „FunctionFlags“-Enumeration beschreibt die Formatierung für die Funktionsintrospektion.

KonstanteWertBeschreibung
QAxScript::FunctionNames0Es werden nur Funktionsnamen zurückgegeben.
QAxScript::FunctionSignatures1Gibt die Funktionen mit Signaturen zurück.

Dokumentation zu Mitgliedsfunktionen

QAxScript::QAxScript(const QString &name, QAxScriptManager *manager)

Erstellt ein QAxScript-Objekt namens „ name “ und registriert es beim „ QAxScriptManager “ manager. Dies wird in der Regel von der Klasse „ QAxScriptManager “ bei der Ausführung von „ loading a script “ durchgeführt.

Ein Skript sollte immer einen Namen haben. Ein Manager ist erforderlich, damit der Skriptcode auf Objekte in der Anwendung verweisen kann. Der „ manager “ übernimmt die Verantwortung für das Objekt.

[override virtual noexcept] QAxScript::~QAxScript()

Löscht das Objekt und gibt alle zugewiesenen Ressourcen frei.

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())

Ruft „ function “ auf und übergibt dabei die Parameter „ var1 “, „ var1 “, „ var2 “, „ var3 “, „ var4 “, „ var5 “, „ var6 “, „ var7 “ und „ var8 “ als Argumente. Die Funktion gibt den von der Funktion zurückgegebenen Wert zurück oder einen ungültigen Wert „ QVariant “, falls die Funktion keinen Wert zurückgibt oder der Funktionsaufruf fehlgeschlagen ist.

Weitere Informationen zum Aufruf von Skriptfunktionen finden Sie unter QAxScriptManager::call().

QVariant QAxScript::call(const QString &function, QList<QVariant> &arguments)

Ruft „ function “ auf, wobei „ arguments “ als Parameter übergeben werden, und gibt das Ergebnis zurück. Beendet die Ausführung, sobald das Skript vollständig ausgeführt wurde.

Weitere Informationen zum Aufruf von Skriptfunktionen finden Sie unter „ QAxScriptManager::call()“.

Dies ist eine überladene Funktion.

[signal] void QAxScript::entered()

Dieses Signal wird ausgesendet, wenn eine Skript-Engine mit der Ausführung von Code begonnen hat.

[signal] void QAxScript::error(int code, const QString &description, int sourcePosition, const QString &sourceText)

Dieses Signal wird ausgegeben, wenn beim Ausführen eines Skripts ein Ausführungsfehler aufgetreten ist.

code, description, sourcePosition und sourceText enthalten Informationen zu dem Ausführungsfehler.

[signal] void QAxScript::finished()

Dieses Signal wird ausgelöst, wenn eine Skript-Engine die Ausführung von Code abgeschlossen hat.

Hinweis: Dieses Signal ist überladen. So stellen Sie eine Verbindung zu diesem Signal her:

// Connect using qOverload:
connect(axScript, qOverload<>(&QAxScript::finished),
        receiver, &ReceiverClass::slot);

// Or using a lambda:
connect(axScript, qOverload<>(&QAxScript::finished),
        this, []() { /* handle finished */ });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Signale anbinden“.

[signal] void QAxScript::finished(const QVariant &result)

result enthält das Ergebnis des Skripts. Dies ist ein ungültiger „ QVariant “, wenn das Skript keinen Rückgabewert hat.

Hinweis: Dieses Signal ist überladen. So stellen Sie eine Verbindung zu diesem Signal her:

// 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 */ });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Signale anbinden“.

[signal] void QAxScript::finished(int code, const QString &source, const QString &description, const QString &help)

code, source, description und help enthalten Informationen zu Ausnahmen, die beim Abbruch des Skripts aufgetreten sind.

Hinweis: Dieses Signal ist überladen. So stellen Sie eine Verbindung zu diesem Signal her:

// 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 */ });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Signale anbinden“.

QStringList QAxScript::functions(QAxScript::FunctionFlags flags = FunctionNames) const

Gibt eine Liste aller Funktionen in diesem Skript zurück, sofern die jeweilige Skript-Engine Introspektion unterstützt; andernfalls wird eine leere Liste zurückgegeben. Die Funktionen werden je nach dem Wert von ` flags` entweder mit vollständigen Prototypen oder nur als Namen bereitgestellt.

Siehe auch ` QAxScriptEngine::hasIntrospection()`.

bool QAxScript::load(const QString &code, const QString &language = QString())

Lädt die Skriptquelle code, die in der Sprache language geschrieben ist, in die Skript-Engine. Gibt „true“ zurück, wenn code erfolgreich in die Skript-Engine geladen wurde; andernfalls wird „false“ zurückgegeben.

Ist language leer (Standardeinstellung), wird die Sprache heuristisch ermittelt. Enthält code die Zeichenfolge End Sub, wird das Skript als VBScript interpretiert, andernfalls als JScript. Weitere Skriptsprachen können mit QAxScriptManager::registerEngine() registriert werden.

Diese Funktion kann für jedes „ QAxScript “-Objekt nur einmal aufgerufen werden; dies geschieht automatisch bei Verwendung von „ QAxScriptManager::load()“.

QString QAxScript::scriptCode() const

Gibt den Code des Skripts zurück oder die Null-Zeichenkette, falls noch kein Code geladen wurde.

Siehe auch „ load()“.

QAxScriptEngine *QAxScript::scriptEngine() const

Gibt einen Zeiger auf die Skript-Engine zurück.

Sie können das zurückgegebene Objekt verwenden, um Signale mit den Skriptfunktionen zu verknüpfen oder direkt auf die Skript-Engine zuzugreifen.

QString QAxScript::scriptName() const

Gibt den Namen des Skripts zurück.

[signal] void QAxScript::stateChanged(int state)

Dieses Signal wird ausgelöst, wenn eine Skript-Engine ihren Zustand ändert. „ state “ kann einen beliebigen Wert aus der Aufzählung „ QAxScriptEngine::State “ annehmen.

© 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.