如何使用 c++ QtScript 中的标准复数
我尝试找出如何在 QtScript 中使用复数,以便可以从 QtScript 调用使用复数参数定义的插槽。用户还应该可以从脚本访问复数的基本代数(+、-、exp、...)。
只是为了说明,我想打电话的是:
#include<complex>
typedef complex<double> Complex;
class MyCppClass : public QObject
{
Q_OBJECT
public:
...
public slots:
void mySignal(Complex rCValue); !! <<== should be callable from QtScript
...
}
有什么想法吗?谢谢!
I try to find out how to use complex numbers in QtScripts such that slots defined with complex arguments can be called from a QtScript. Also basic algebra (+,-,exp, ... ) of complex-numbers should be accessible to the user from the script.
Just for illustration want I want to call is:
#include<complex>
typedef complex<double> Complex;
class MyCppClass : public QObject
{
Q_OBJECT
public:
...
public slots:
void mySignal(Complex rCValue); !! <<== should be callable from QtScript
...
}
Any ideas? Thx!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你必须在 QtScript 中实现复杂的代数(类似于 http://examples. oreilly.com/9781565923928/text/8-6.txt),然后修改 mySignal 以接受这样的对象。
I think you must implement complex algebra in QtScript (something like http://examples.oreilly.com/9781565923928/text/8-6.txt) and then modify mySignal to accept an object like this.
这不是最终的答案......因为如上所述,运算符 +、- 和 * 不能用于 javascript 端的复数。但对于那些感兴趣的人,我想分享以下代码片段,它们允许触发具有复杂参数的插槽。
测试.h:
测试.cpp:
main.cpp:
It's not the final answer ... since as indicated above the operators +,- and * cannot be used for Complex quantities on the javascript side. But for those interested I'd like to share the following code pieces, which allow to trigger slots with complex arguments.
test.h:
test.cpp:
main.cpp: