我正在设计一个包含 3 个列表的 qml 页面。我希望数据作为来自 cpp 的模型显示在这些列表中。我可以将所有这 3 个模型作为单个类的属性吗?
我有一个从 qabstractlistmodel 派生的类用作模型。我希望这个模型作为另一个类的属性,它使用 qqmlcontextproperty 绑定到 qml。
IE。我可以将这个模型作为一个属性来访问。
class ToDoModel : public QAbstractListModel
{
Q_OBJECT
...
}
class HelperClass : public QObject
{
Q_OBJECT
Q_PROPERTY(ToDoModel todoModel READ todoModel CONSTANT)
public:
explicit HelperClass(QObject *parent = nullptr);
ToDoModel* todoModel() const;
signals:
public slots:
private:
ToDoModel *_todoModel;
};
int main(int argc, char *argv[])
{
HelperClass helperClass;
engine.rootContext()->setContextProperty(QStringLiteral("helperClass"), &helperClass);
...
}
它显示错误:
Unable to handle unregistered datatype 'ToDoModel' for property 'HelperClass::todoModel'