The QAxScript 類提供圍繞腳本代碼的包裹器。 更多...
| 頭: | #include <QAxScript> |
| qmake: | QT += axcontainer |
| 繼承: | QObject |
| enum | FunctionFlags { FunctionNames, FunctionSignatures } |
| 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 & 語言 = QString()) |
| QString | scriptCode () const |
| QAxScriptEngine * | scriptEngine () const |
| QString | scriptName () const |
| void | entered () |
| void | error (int code , const QString & 描述 , int sourcePosition , const QString & sourceText ) |
| void | finished () |
| void | finished (const QVariant & result ) |
| void | finished (int code , const QString & source , const QString & 描述 , const QString & help ) |
| void | stateChanged (int state ) |
| const QMetaObject | staticMetaObject |
The QAxScript 類提供圍繞腳本代碼的包裹器。
每個實例化的 QAxScript 類錶示一塊特定腳本語言腳本代碼。將代碼加載進腳本引擎是使用 load ()。可以調用代碼中的聲明函數是使用 call ().
腳本提供 scriptEngine () 透過信號嚮應用程序提供反饋。最重要信號是 error () 信號。直接訪問 QAxScriptEngine 的提供是透過 scriptEngine () 函數。
警告: 此類不可用於 bcc5.5 編譯器。
另請參閱 QAxScriptEngine , QAxScriptManager , QAxBase ,和 ActiveQt 框架 .
此 FunctionFlags 枚舉描述函數的自省格式。
| 常量 | 值 | 描述 |
|---|---|---|
QAxScript::FunctionNames
|
0
|
隻返迴函數名稱。 |
QAxScript::FunctionSignatures
|
1
|
返迴具有簽名的函數。 |
構造 QAxScript 對象稱為 name 並注冊它采用 QAxScriptManager manager 。通常做到這是通過 QAxScriptManager 類當 加載腳本 .
腳本應始終擁有名稱。為允許腳本代碼引用應用程序中的對象,管理器是必要的。 manager 擁有對象的所有權。
[override virtual]
QAxScript::
~QAxScript
()
銷毀對象,釋放所有分配資源。
調用 function ,傳遞參數 var1 , var1 , var2 , var3 , var4 , var5 , var6 , var7 and var8 作為自變量並返迴由函數返迴的值,或無效 QVariant 若函數不返迴值 (或當函數調用失敗時)。
見 QAxScriptManager::call () 瞭解如何調用腳本函數的更多有關信息。
這是重載函數。
調用 function 傳遞 arguments 作為參數,並返迴結果。返迴當腳本執行完成時。
見 QAxScriptManager::call () 瞭解如何調用腳本函數的更多有關信息。
[signal]
void
QAxScript::
entered
()
此信號被發射,當腳本引擎已開始執行代碼時。
[signal]
void
QAxScript::
error
(
int
code
, const
QString
&
描述
,
int
sourcePosition
, const
QString
&
sourceText
)
此信號被發射,當運行腳本時齣現執行錯誤。
code , 描述 , sourcePosition and 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
&
描述
, const
QString
&
help
)
這是重載函數。
code , source , 描述 and 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){ /* ... */ });
返迴此腳本中所有函數的列錶,若各自腳本引擎支持自省;否則返迴空列錶。函數按完整原型提供 (或按名稱提供),從屬值對於 flags .
另請參閱 QAxScriptEngine::hasIntrospection ().
加載腳本源 code 編寫按語言 語言 進腳本引擎。返迴 true 若 code 成功進入腳本引擎;否則返迴 false。
若
語言
為空 (默認),將啓發式確定它。若
code
包含字符串
End Sub
會將它解釋成 VBScript,否則解釋成 JScript。可以注冊其它腳本語言使用
QAxScriptManager::registerEngine
().
隻可以調用此函數一次對於每個 QAxScript 對象,會自動完成當使用 QAxScriptManager::load ().
返迴腳本代碼,返迴 null 字符串若代碼尚未被加載。
另請參閱 load ().
返迴腳本引擎指針。
可以使用返迴對象將信號連接到腳本函數,或直接訪問腳本引擎。
返迴腳本的名稱。
[signal]
void
QAxScript::
stateChanged
(
int
state
)
發射此信號,當腳本引擎改變狀態時。
state
可以是任意值在
QAxScriptEngine::State
枚舉。