我看不出我做错了什么。我正在尝试在类中创建一些属性(就像我之前做的那样),但这次我得到错误“类Foo没有名为MyProp的成员”
标题是:
#ifndef P_H
#define P_H
#include <QObject>
class P : public QObject
{
Q_OBJECT
Q_PROPERTY(int Prop READ getProp WRITE setProp)
public:
explicit P(QObject *parent = 0);
int getProp() const;
void setProp(int nP);
private:
int m_p;
};
#endif // P_H
并且cpp文件是:
#include "p.h"
P::P(QObject *parent) :
QObject(parent)
{
}
int P::getProp() const
{
return m_p;
}
void P::setProp(int nP)
{
m_p = nP;
}
但是当我尝试使用foobar.P时我得到了错误类P没有名为P 的成员。我一直在阅读Qt documentation,我看不出有任何区别。有谁看到我做错了什么?
我正在使用Qt Creator 2.4.1和Qt 4.8。
[...编辑...]
以下是我尝试使用它的方法:
#include "p.h"
int main(int argc, char *argv[])
{
P c;
c.Prop = 2;
return 0;
}
这是我能想到的最简单的例子,我也遇到了同样的错误。
提前致谢。
答案 0 :(得分:2)
您需要像这样使用它:
P c;
c.setProperty("Prop", 42); // set the property
c.property("Prop"); // retrieve the property