Хочется понять, как правильно работать с сабжем. Раньше применял (да и на просторах интернета чаще всего встречается) такой вариант:
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.