Q_PROPERTY 编译错误

Posted

技术标签:

【中文标题】Q_PROPERTY 编译错误【英文标题】:Q_PROPERTY compilation error 【发布时间】:2017-05-05 12:23:54 【问题描述】:

我的工作环境:Qt 5.8 MSVC2015 64bit,Windows 7 64bit。

我成功地从 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++ 返回值的更好选择吗?

【问题讨论】:

【参考方案1】:

我刚刚找到了简单的解决方案,不需要 Q_PROPERTY :

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

【讨论】:

以上是关于Q_PROPERTY 编译错误的主要内容,如果未能解决你的问题,请参考以下文章

在没有 Q_PROPERTY 定义的情况下从 C++ 访问 QML 对象的属性

Linux编译错误

Arduino编译错误

我要完整的DELPHI编译错误信息。

SOPC 中NIOSII IDE编译工程时错误!!

C++编译链接错误