【发布时间】:2011-09-30 15:44:09
【问题描述】:
好的。所以我以为我已经完全理解了这一点,但显然我做错了什么,我一生都无法理解。我已经严格按照教程进行操作(我检查过),但无法让它工作,所以在这里,让我问一个简单的问题。
我创建了一个基于 QObject 的类,它有一个简单的 QString 变量来存储类的名称(这只是为了测试),它看起来像这样:
#include <QObject>
class CategoryPane : public QObject
{
Q_OBJECT
Q_PROPERTY(QString catName READ getCategoryName WRITE setCategoryName);
public:
explicit CategoryPane(QObject *parent = 0);
QString getCategoryName();
void setCategoryName(QString);
signals:
void nameChange();
private:
QString categoryName;
};
这是使用以下函数注册的:qmlRegisterType("ITI_UI", 1, 0, "CategoryPane");
我正在尝试在如下所示的 QML 文件中打印出 CategoryPane 类的名称变量:
import QtQuick 1.0
import ITI_UI 1.0
Rectangle {
width: 300
height: 300
CategoryPane {
id: whatever
catName: "ey"
Text {
text: whatever.catName
}
}
}
但我收到以下错误:qrc:/main.qml:11:3: 无法分配给不存在的默认属性
注意:如果我删除 Text {} 字段,我不会收到错误消息,但是我又无法打印出我的名字字符串,这是重点...
提前感谢您的时间和耐心!
【问题讨论】: