在Qt编程中将数据存在ListModel中
之前说过将数据存在数据库,然后展示在用户界面上的方法,今天说个简单一点的,是将数据库存在QML文件中。
先写好数据,就是创建一个ListModel,然后每一项数据写一个ListElement,文件名是RouteList.qml。
import QtQuick 2.0 ListModel { ListElement { route: "S06" routeid: "s06" } ListElement { route: "S09" routeid: "s09" } ListElement { route: "S10" routeid: "s10" } }
然后同样地,创建一个View来展示数据。可以看到最下面,创建了一个RouteList对象routelistmodel,和上面的文件名对应。接着把silicalistview的model设为routelistmodel。Delegate使用ListItem来展示数据。
import QtQuick 2.0 import Sailfish.Silica 1.0 import "../models" import "../pages" Item { id: routeslistitem height: slideshowview.height width: slideshowview.width SilicaListView { id: silicalistview anchors.fill: parent clip: true model: routeslistmodel delegate: ListItem { id:listitem width: parent.width onClicked: { pageStack.push(Qt.resolvedUrl("../pages/RoutePage.qml"), {rt: routeid}) } Label { text: route x: Theme.paddingLarge anchors.verticalCenter: parent.verticalCenter } } VerticalScrollDecorator {} } RoutesList { id: routeslistmodel } }
这样就完成将ListModel的数据展示到SilicaListView上的代码了。

浙公网安备 33010602011771号