The QAxScript 类提供围绕脚本代码的包裹器。 更多...
| 头: | #include <QAxScript> | 
| qmake: | QT += axcontainer | 
| 继承: | QObject | 
| enum | 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 & 语言 = QString()) | 
| QString | scriptCode () const | 
| QAxScriptEngine * | scriptEngine () const | 
| QString | scriptName () const | 
| 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 ) | 
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 拥有对象的所有权。
销毁对象,释放所有分配资源。
调用 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
							
						
						&
						
							description
						
						,
						
							int
						
						
							sourcePosition
						
						, const
						
							
								QString
							
						
						&
						
							sourceText
						
						)
						
					此信号被发射,当运行脚本时出现执行错误。
code , description , sourcePosition and sourceText 包含执行错误的有关信息。
[signal]
						
						
							void
						
						QAxScript::
						
							finished
						
						()
						
					此信号被发射,当脚本引擎执行完成代码时。
注意: 信号 finished 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(axScript, static_cast<void(QAxScript::*)()>(&QAxScript::finished), [=](){ /* ... */ });
[signal]
						
						
							void
						
						QAxScript::
						
							finished
						
						(const
						
							
								QVariant
							
						
						&
						
							result
						
						)
						
					这是重载函数。
result 包含脚本结果。这将是无效 QVariant 若脚本没有返回值。
注意: 信号 finished 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(axScript, static_cast<void(QAxScript::*)(const QVariant &)>(&QAxScript::finished), [=](const QVariant &result){ /* ... */ });
[signal]
						
						
							void
						
						QAxScript::
						
							finished
						
						(
						
							int
						
						
							code
						
						, const
						
							
								QString
							
						
						&
						
							source
						
						, const
						
							
								QString
							
						
						&
						
							description
						
						, const
						
							
								QString
							
						
						&
						
							help
						
						)
						
					这是重载函数。
code , source , description and help 包含脚本终止时的异常信息。
注意: 信号 finished 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(axScript, static_cast<void(QAxScript::*)(int, const QString &, const QString &, const QString &)>(&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
						
						枚举。