Spec-Zone.ru › Qt 5.9

Класс QAxScript

Класс QAxScript предоставляет оболочку для скриптового кода. Подробнее...

Заголовок: #include <QAxScript>
qmake: QT += axcontainer
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые типы

перечисление FunctionFlags { FunctionNames, FunctionSignatures }

Открытые функции

QAxScript(const QString &name, QAxScriptManager *manager)
~QAxScript()
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(FunctionFlags flags = FunctionNames) const
bool load(const QString &code, const QString &language = QString())
QString scriptCode() const
QAxScriptEngine * scriptEngine() const
QString scriptName() const
  • 32 открытых функций, унаследованных от QObject

Сигналы

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)
  • 2 сигнала, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 11 статических открытых членов, унаследованных от QObject
  • 9 защищённых функций, унаследованных от QObject

Подробное описание

Класс QAxScript предоставляет оболочку для скриптового кода.

Каждый экземпляр класса QAxScript представляет собой фрагмент скриптового кода на определённом языке сценариев. Код загружается в движок сценариев с помощью load(). Функции, объявленные в коде, могут вызываться с помощью call().

Сценарий предоставляет scriptEngine() обратную связь для приложения через сигналы. Наиболее важным сигналом является сигнал error(). Прямой доступ к QAxScriptEngine обеспечивается функцией scriptEngine().

Предупреждение: Этот класс недоступен с компилятором bcc5.5.

См. также QAxScriptEngine, QAxScriptManager, QAxBase и Фреймворк ActiveQt.

Документация по типам членов

перечисление QAxScript::FunctionFlags

Это перечисление FunctionFlags описывает форматирование для интроспекции функций.

Константа Значение Описание
QAxScript::FunctionNames 0 Возвращаются только имена функций.
QAxScript::FunctionSignatures 1 Возвращаются функции с сигнатурами.

Документация по функциям-членам

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

Конструирует объект QAxScript с именем name и регистрирует его в QAxScriptManager manager. Обычно это выполняется классом QAxScriptManager при загрузке скрипта.

Скрипт всегда должен иметь имя. Менеджер необходим, чтобы скриптовый код мог ссылаться на объекты в приложении. Менеджер manager принимает владение объектом.

QAxScript::~QAxScript()

Уничтожает объект, освобождая все выделенные ресурсы.

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

Вызывает функцию function, передавая в качестве аргументов параметры var1, var1, var2, var3, var4, var5, var6, var7 и var8 и возвращает значение, возвращённое функцией, или недействительный QVariant, если функция не возвращает значение или вызов функции не удался.

См. QAxScriptManager::call() для получения дополнительной информации о вызове скриптовых функций.

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

Это перегруженная функция.

Вызывает функцию function, передавая в качестве параметров arguments, и возвращает результат. Возвращает, когда выполнение скрипта завершено.

См. QAxScriptManager::call() для получения дополнительной информации о вызове скриптовых функций.

[signal] void QAxScript::entered()

Этот сигнал испускается, когда движок сценариев начал выполнять код.

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

Этот сигнал испускается, когда произошла ошибка выполнения при запуске скрипта.

code, description, sourcePosition и sourceText содержат информацию об ошибке выполнения.

[signal] void QAxScript::finished()

Этот сигнал испускается, когда движок сценариев завершил выполнение кода.

Примечание: Сигнал finished перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(axScript, QOverload<>::of(&QAxScript::finished),
    [=](){ /* ... */ });

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

Это перегруженная функция.

result содержит результат скрипта. Это будет недействительный QVariant, если у скрипта нет возвращаемого значения.

Примечание: Сигнал finished перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(axScript, QOverload<const QVariant &>::of(&QAxScript::finished),
    [=](const QVariant &result){ /* ... */ });

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

Это перегруженная функция.

code, source, description и help содержат информацию об ошибке при завершении сценария.

Примечание: Сигнал finished перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(axScript, QOverload<int, const QString &, const QString &, const QString &>::of(&QAxScript::finished),
    [=](int code, const QString &source, const QString &description, const QString &help){ /* ... */ });

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

Возвращает список всех функций в этом скрипте, если соответствующий движок сценариев поддерживает интроспекцию; в противном случае возвращает пустой список. Функции предоставляются либо с полными прототипами, либо только в виде имен, в зависимости от значения flags.

См. также QAxScriptEngine::hasIntrospection().

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

Загружает исходный код сценария code, написанный на языке language, в движок сценариев. Возвращает true, если code был успешно загружен в движок сценариев; в противном случае возвращает false.

Если language пустое (по умолчанию), оно будет определено эвристически. Если code содержит строку End Sub , она будет интерпретироваться как VBScript, в противном случае как JScript. Дополнительные языки сценариев могут быть зарегистрированы с помощью QAxScriptManager::registerEngine().

Эта функция может быть вызвана только один раз для каждого объекта QAxScript, что выполняется автоматически при использовании QAxScriptManager::load().

QString QAxScript::scriptCode() const

Возвращает код сценария или пустую строку, если код еще не загружен.

См. также load().

QAxScriptEngine *QAxScript::scriptEngine() const

Возвращает указатель на движок сценариев.

Вы можете использовать возвращённый объект для подключения сигналов к функциям сценария или для прямого доступа к движку сценариев.

QString QAxScript::scriptName() const

Возвращает имя сценария.

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

Этот сигнал излучается, когда движок сценария изменяет состояние. state может быть любым значением в перечислении QAxScriptEngine::State.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qaxscript.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API