Как предоставить модель C++ для QML

Я пишу приложение QML+Qt. Я определил такой класс:

class MainClass : public QObject
{
    Q_OBJECT

public:
    rosterItemModel m_rosterItemModel;
.
.
.
}

Модель rosterItemModel — это класс, производный от QAbstractListModel. Я представил MainClass части qml, используя эту функцию:

qmlRegisterType<MainClass>("CPPIntegrate", 1, 0, "MainClass");

Теперь я хочу назначить эту модель (m _rosterItemModel )из MainClass для свойства модели ListView в QML. Я пробовал следующие способы, но ни один из них не помог:(

  • Я попытался объявить m _rosterItemModel как PROPERTY, используя Q _PROPERTY. Я не мог этого сделать, потому что он сказал, что QAbstractListModel не копировать -в состоянии.
  • Я попытался получить указатель на m _rosterItemModel в файле qml, используя Q _Функция INVOKABLE в MainClass. Но и это не помогло.

Может ли кто-нибудь помочь мне?

6
задан s4eed 4 August 2012 в 06:07
поделиться