QML类型说明-EnginioModel

本文详细介绍了EnginioModel的功能及使用方法,包括如何通过QML实现云端数据查询与展示,以及模型支持的append、remove和setProperty等方法的介绍。

EnginioModel

ImportStatement:   import Enginio 1.0

Since:  Qt 5.3

 

Properties

client :EnginioClient

operation :Enginio::Operation

query :QJSValue

 

Methods

EnginioReplyappend(QJSValue object)

EnginioReplyremove(int row)

EnginioReplysetProperty(int row, string propertyName, QVariant value)

 

DetailedDescription

importEnginio 1.0

模型的查询属性取一个JSON对象。

例如获取类型为"objects.city"的每一个对象的模型:

EnginioModel{

    id: enginioModel

    client: client

    query: { "objectType":"objects.city" }

}

然后,用普通的Qt Quick ListView去显示云端包含的城市列表是可能的。

ListView {

    anchors.fill: parent

    model: enginioModel

    delegate: Text {

        text: name + ": " +population

    }

}

注意对象的属性能直接访问。在这个例子中,云端的"objects.city"类型的对象有两个属性,"name"和"population"。这个模型组件支持多个函数来修改数据,例如append()、remove()、setProperty()。

EnginioModel的QML版本和C++版本支持同样的函数功能。

 

PropertyDocumentation

client : EnginioClient

用于这个模型的EnginioClient实例。

 

operation :Enginio::Operation

用于查询的操作。

 

query :QJSValue

从云端获取数据填充模型。查阅EnginioClient::query()的文档,获得怎样构建查询的信息。EnginioClient的查询返回的查询数据是一个JSON对象。而模型查询将被视作模型数据。

通常,查询单一的对象类型将返回数据库中该类型的所有对象。模型将每个返回对象表示为一行,查询结果可以是有限的和经过排序的,就像在EnginioClient做的那样。

一个需要注意的要点是,云端并不保持同样的排序。因此,排序和限制仅仅保存到一个插入或删除发生。同时参阅EnginioClient::query()。

 

MethodDocumentation

EnginioReplyappend(QJSValue object)

增加新对象到模型和数据库。这个函数添加新对象到本地模型缓冲,然后在云端建立异步请求。添加一个对象到云端可能因种种原因失败,所以返回必须被保持并进行错误处理(参阅EnginioReply)。如果操作失败,添加到本地模型缓冲的对象应该被移除。如果模型是可见的,它将让用户看到新的对象在视图中出现,然后消失。它从云端返回EnginioReply。

往模型中添加城市看起来像下面这样操作:

functionaddCity() {

    var berlin = {

        "objectType":"objects.city",

        "name": "Berlin",

        "population": 3300000

    }

    enginioModel.append(berlin)

}

 

EnginioReplyremove(int row)

在模型和数据库中移除row指定的对象。

这个函数立刻在本地缓存的model中移除对象,同时发送移除请求给云端。从云端返回EnginioReply。同时参阅EnginioClient::remove()。

 

EnginioReplysetProperty(int row, string propertyName, QVariant value)

改变模型中一个对象的属性。row表示的对象的propertyName属性将被设置成value。本地模型将立刻反映这一变化并蔓延到云端。
### 回答1: QML-QianWindow-V1版本界面是一款用户界面设计程序,它为开发人员提供了大量可自定义的UI组件,使得开发者可以轻松地创建美观、直观且易于使用的界面。QML-QianWindow-V1版本界面具有界面美观,易用性强以及可扩展性强的特点。该程序提供了多种UI组件如窗口、按钮、文本框、下拉框、进度条等等。每个组件都可以基于开发需求进行个性化设计,提高了程序的可读性和可维护性。 QML-QianWindow-V1版本界面的窗口设计功能令人称赞。用户可以定制窗口的样式、位置和大小等属性,使其符合自己的需求。同时,该程序支持类似IOS与Android风格的Tab、Panel、Dialog等视图控件,让应用的界面更具丰富性和交互性,提升用户体验。 此外,QML-QianWindow-V1版本界面可让用户通过实用的数据模型,快速地创建和管理表格和列表,包括多行、多列的表格和单选或多选列表,使得用户可以方便地处理大量数据。 总之,QML-QianWindow-V1版本界面通过提供易用性和可扩展性强的UI组件来简化界面设计过程,使得开发人员可以迅速开发出优秀的桌面应用程序界面,以满足用户高品质的界面需求。 ### 回答2: QML-Qianwindow-v1版本是一款基于QML语言开发的桌面应用程序,其主要特点是界面设计美观、简单易用,适用于多种应用场景。 该软件的主界面包含五个主要区域:侧边栏、消息中心、主视图、小部件和设置菜单。 侧边栏主要用于导航,其中包含主要的应用程序和功能,使用户可以轻松地进入不同的模块。 消息中心用于显示来自其他应用程序的通知,例如电子邮件或要完成的任务。 主视图是QML-Qianwindow-v1的核心区域,其中包含常见的功能和工具,例如打开的文件、书签和搜索栏。 小部件区域用于显示用户选择的小部件,例如天气预报和日历。 设置菜单区域包含应用程序的设置菜单,用户可以在此处更改应用程序的选项、主题和常规设置。 总体来说,QML-Qianwindow-v1版本的界面设计非常简洁,用户友好,易于使用。它增强了用户的生产力和效率,为用户提供了一种令人愉悦的使用体验。 ### 回答3: QML-QianWindow-v1是一种基于Qt QML开发的简单易用的窗口界面库。其设计风格简洁明了,适用于各种桌面应用开发。 该库主要由三个部分组成:Title Bar、Main Body和Sidebar。其中,Title Bar是窗口的标题栏,可以自定义标题、图标、按钮、菜单等。Main Body是页面的主体内容,可以显示各种控件、窗口和布局。Sidebar是侧边栏,可以显示常用的菜单、工具、快捷方式等。 在QML-QianWindow-v1中,可以使用QianWindow来创建窗口。QianWindow提供了常用的窗口操作方法,例如最小化、最大化、关闭等。同时,该库还提供了很多常用的QML组件,例如按钮、文本框、下拉框、列表框等,这些组件可以方便快捷地进行页面设计。此外,在QML-QianWindow-v1中还支持自定义样式,可以根据需要修改组件的颜色、形状、大小等。 QML-QianWindow-v1的界面设计风格简洁明了,同时具有一定的美观度。尤其是Title Bar部分的设计非常灵活,可以根据需要自由定制。Main Body部分支持多种布局方式,可以满足不同页面设计的需求。Sidebar部分则提供了丰富的快捷操作方式,提高了用户的使用效率。 总的来说,QML-QianWindow-v1是一款非常实用的界面库,可以方便快捷地进行桌面应用开发。无论是初学者还是有经验的开发者,都可以轻松使用该库进行界面设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值