我在Qt中遇到了一個「設計/實現」問題。 目前我甚至不確定這是否是一個聰明的設計... 這是我的第一篇文章,我不知道從哪裏開始...使用QML中Costum類中的Q_PROPERTY's
所以我會試試這個方法。 .. 目前,我有這樣的事情:
class NewProperty : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName)
.
.
.
public:
NewProperty(const QString &name, QObject *parent = 0);
QString name()const;
void setName(const QString &name);
.
.
.
private:
QString m_s_name;
};
這是一個「NewProperty」類我想有到底「MyClass的」事業會有比只是一個「名稱」屬性更多。 NewProject.cpp文件目前是非常基本的...
而且項目中還會有幾個MyClass。
我的「MyClass」最後會有幾個「NewProperty」的元素... 但我不確定如何以/ right/nice的方式將「NewProperty」傳遞給QML。 我試圖做這樣的事情:
class QML_EMail : public Base_Output
{
Q_OBJECT
public:
NewProperty prop1;
NewProperty prop2;
.
.
.
};
的main.cpp
...
qmlRegisterType<NewProperty> ("NewProperty", 1, 0, "NewProperty");
QML_EMail email
ctx->setContextProperty("email", QVariant::fromValue(&email));
...
如果我嘗試調用像這樣在QML文件:
import NewProperty 1.0
Rectangle {
id: emailStart
Component.onCompleted:
{
console.log(email.prop1.name)
}
我只得到這個消息:TypeError:無法讀取未定義的屬性「名稱」
我將不勝感激幫助或爲了更好的編碼提示...
問候,
萌
非常感謝你......你救了我的週末。我完全忽略了文檔中的MEMBER值。很有幫助 – mBucks