У меня есть пользовательский тип, называемый Patients
(пожалуйста, игнорируйте ошибку во множественном числе). Я хочу создать QList<Patients*>
в своем cpp и использовать его из своего QML. Я следую шаблонам из здесь, но это не работает .
Вот мои пациенты.h (возможно, больше информации, чем нужно). . .
class Patients : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ getName)
Q_PROPERTY(QString email READ getEmail)
Q_PROPERTY(int id READ getId)
public:
explicit Patients(QObject *parent = 0);
explicit Patients(int id, QString name, QString email, QObject *parent = 0);
QString getName() const;
QString getEmail() const;
int getId() const;
private:
QString email, name;
int id;
};
Вот основной cpp
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
QList<Patients*> lst;
lst.append(new Patients(0, QString("abe"), QString("albert")));
QQmlContext *ctx = engine.rootContext();
ctx->setContextProperty("pLst", QVariant::fromValue(lst));
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
Вот qml. . .
ListView{
id: lst
height: 100; width: 100
anchors.fill: parent
x: 100; y: 100
model: pLst
delegate: Text{
text: model.modelData.name
}
}
Это работает, когда я привязываю один объект, но не как список. Даже представление index
внутри Text
не работает. Никаких сообщений об ошибках или чего-то подобного.