我创建了一个客户端/服务器应用程序,在其中我从服务器加载客户端上的 qml 文件,如下所示:
QQmlApplicationEngine engine;
engine.addImportPath("http://127.0.0.1/qmldir"); //127.... to test locally
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
在一个 qml 文件中,我有一个 ListView,该模型必须从 C++ 类创建,该类继承自 QAbstractListModel,最重要的是,它位于应用程序的服务器端(客户端只有 qml 文件用于接口)。
所以我想使用 QAbstractListModel 因为我想“正常”使用 ListView,也就是说单击列表中的一个项目,当我拖动列表以显示下一个或上一个项目时,列表会更新,... ,就好像它不是客户端/服务器应用程序一样。我有类似的东西:
客户端,接口的qml:
MyModel{
id:myModel
}
ListView{
id:listView
model: myModel
...
}
服务器上的 C++ 类:
class MyModel : public QAbstractListModel
{
...
}
所以我想知道如何连接这两个元素,如果可能的话?或者最好的方法是什么?
谢谢。