LINUX.ORG.RU

Правильная работа с QQmlListProperty

 ,


0

2

Хочется понять, как правильно работать с сабжем. Раньше применял (да и на просторах интернета чаще всего встречается) такой вариант:

class STDataProvider : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QQmlListProperty<STTask> tasks READ tasks NOTIFY tasksChanged)

signals:
    void tasksChanged(QQmlListProperty<STTask> arg);

public:
    STDataProvider(QObject *parent = 0) {
        // Наполнение листа _tasks
    }

    QQmlListProperty<STTask> tasks() {
        return QQmlListProperty<STTask>(this, _tasks);
    }

private:
    QList<STTask*> _tasks;
};
Но в документации написано, что:

Generally this constructor should not be used in production code, as a writable QList violates QML's memory management rules. However, this constructor can be very useful while prototyping.

★★★★★

Пока тема не ушла в архив, вдруг кто наткнется через поиск: правильно — это писать свою модель, например на основе QAbstractListModel.

CrossFire ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.