2017-05-05 98 views
0

我的工作环境:Qt 5.8 MSVC2015 64位,Windows 7 64位。Q_PROPERTY编译错误

我从Java脚本成功调用C++方法。 但未能在JavaScript中获得C++方法的返回值。 所以我尝试使用Q_PROPERTY在JavaScript代码中获取C++方法的返回值。

class ExportedObject : public QObject 
{ 
    Q_OBJECT 
    Q_PROPERTY(QString myprop MEMBER m_buffer READ GetValue WRITE GetTile) 

public: 
    Q_INVOKABLE void GetTile(int row, int col, int level); 
    Q_INVOKABLE QString GetValue(); 
    QString m_buffer; 

它给了我下面的错误:

错误:C2660: 'ExportedObject :: GetTile':函数不接受1个参数

JavaScript代码:

var image = window.interface.GetTile(row , col ,level); 

任何线索我在Q_PROPERTY失踪?

他们更好的选择在JavaScript中获得C++返回值吗?

回答

0

我刚刚找到简单的解决方案,这,无需Q_PROPERTY的:

window.interface.GetTile(row , col ,level, function(returnValue) { 
    alert(returnValue); 
});