gpt4 book ai didi

c++ - 如何从 C++ 访问 qml ListElement

转载 作者:行者123 更新时间:2023-11-27 23:49:34 33 4
gpt4 key购买 nike

我有一个 ListModel:

ListModel {
ListElement {
property: "value"
}
ListElement {
property: "value2"
}
}

我正在尝试从 C++ Qt 类访问它。

我已经设法获得对列表模型的引用:

QQmlEngine engine;
QQmlComponent component(&engine,
QUrl("qrc:///path.qml"));
QObject *object = component.create();

调试对象给我一个QQmlListModel(adress)
object -> chlidren() 什么也没给我,object -> children().count() 显示 0。
我尝试制作一个 QListQTableView 来自 object,但没有运气。

如何获取 ListElements 的值?

最佳答案

由于 QQmlListModel 继承了 QAbstractItemModel,您可以使用该类提供和实现的所有方法。

更具体地说,您将寻找:

然后您可以轻松地迭代模型。

QQmlComponent component(&engine, "MyQmlListModel.qml");
QObject* o = component.create();
QAbstractListModel* m = qobject_cast<QAbstractListModel*>(o);

if (m != nullptr) {
qDebug() << m->rowCount();
qDebug() << m->data(m->index(0, 0), 0);
}
else { qDebug() << "failed!"; }

关于c++ - 如何从 C++ 访问 qml ListElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47456315/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com