Сделай объект, который выставь в QML. А у этого объекта сделай метод, который возвращает модель. И вызывай этот метод из QML
У Вас нет готового примера, что бы работал в Qt 5?
Я примерно так делал, ничего не получается. Даже просто возвратить модель из какого-то класса не получается
C++ (Qt)
/* */
class Model : public QAbstractListModel
{
Q_OBJECT
public:
explicit Model(QObject *parent = 0);
int rowCount (const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;
private:
};
/* */
class Models : public QObject
{
Q_OBJECT
public:
explicit Models(QtQuick2ApplicationViewer *viewer, QObject *parent = 0);
Q_PROPERTY(Model *model READ getModel NOTIFY modelChanged);
Model *getModel();
signals:
void modelChanged();
public slots:
private:
Model *model_;
};
Декларируем контекстные свойства в QML в файле main.cpp.
C++ (Qt)
Models *models = new Models(&viewer);
viewer.rootContext()->setContextProperty ("Models", models);
Model *model = new Model();
viewer.rootContext()->setContextProperty ("Model", model);
Используем в QML
Javascript
ListView {
id: view
width: parent.width
model: Models.model
}