Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Qt脚本中克隆函数?_C++_Qt_Qt5_Qtscript - Fatal编程技术网

C++ 如何在Qt脚本中克隆函数?

C++ 如何在Qt脚本中克隆函数?,c++,qt,qt5,qtscript,C++,Qt,Qt5,Qtscript,我想将Qt脚本数据发送到另一个线程。为此,我必须复制数据,因为QScriptValue对象引用javascript对象,而不是包含它们 如何克隆函数?这不是很好,将条目克隆到子条目: subEntry = target.engine()->evaluate("("+entry.toString()+")"); 你说“这不是很好”是什么意思?你希望改进什么?为了更好,您需要在QtScript模块的代码本身中实现函数克隆。也就是说,您需要修补Qt。@KubaOber好吧,例如,对于本机函数,

我想将Qt脚本数据发送到另一个线程。为此,我必须复制数据,因为
QScriptValue
对象引用javascript对象,而不是包含它们

如何克隆函数?这不是很好,将
条目
克隆到
子条目

subEntry = target.engine()->evaluate("("+entry.toString()+")");

你说“这不是很好”是什么意思?你希望改进什么?为了更好,您需要在
QtScript
模块的代码本身中实现函数克隆。也就是说,您需要修补Qt。@KubaOber好吧,例如,对于本机函数,上述操作失败。它也不会克隆函数捕获的作用域,但我想我可以不克隆它。但是如果有任何绑定到对象(
Function.prototype.bind
)也不起作用。这需要一个Qt补丁。有没有可能使用现代的
QJSEngine
?在那里实施AFAICT比较容易。你说的“这不是很好”是什么意思?你希望改进什么?为了更好,您需要在
QtScript
模块的代码本身中实现函数克隆。也就是说,您需要修补Qt。@KubaOber好吧,例如,对于本机函数,上述操作失败。它也不会克隆函数捕获的作用域,但我想我可以不克隆它。但是如果有任何绑定到对象(
Function.prototype.bind
)也不起作用。这需要一个Qt补丁。有没有可能使用现代的
QJSEngine
?在那里实施AICT会更容易。