如何将QAbstractListModel分配给ListModel



我有一个包含ListModel的应用程序。我已经编写了从QAbstractListModel派生的C++类。

QML列表模型看起来像

// SelectedStepsModel.qml
import QtQuick 2.0
ListModel {
ListElement{
step_name:""
step_icon:""

并且,C++类看起来像

class ProductModel : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(QString product_name READ get_product_name)
public:
enum {
StepNameRole = Qt::UserRole,
StepIconRole,
...

...
ProductModel* product_model = new ProductModel();
context->setContextProperty("product_model", QVariant::fromValue(product_model));
...

在其中一个文件中(QML模型由QML中的一些函数填充(,我想用新创建的模型替换该逻辑(因为模型具有所有数据(。

// some other file
SelectedStepsModel {
id: selected_model
}
selected_model = product_model

注意,这里selected_model是ListModel,product_model为QAbstractListModel。但是selected_model=product_model正在失败。

我做了正确的事情吗?将QAbstractListModel分配给ListModel的正确方法是什么。

提前谢谢。

这里没有"分配"模型这回事:要么使用QML中声明的模型实例,要么使用提供的模型。选择其中一个。

最新更新