虽然我们的developer站点有丰富的API介绍,可是,有些API的介绍可能并不全,有些API也在不断地演进中。

为了得到更具体的API,我们能够通过例如以下的命令来得到更加具体的信息。比方我们对“SingleDownload”API来得到更加多的信息。

$qmlplugindump Ubuntu.DownloadManager 0.1

显示的结果例如以下:

import QtQuick.tooling 1.1





// This file describes the plugin-supplied types contained in the library.

// It is used for QML tooling purposes only.

//

// This file was auto-generated by:

// 'qmlplugindump Ubuntu.DownloadManager 0.1'





Module {

    Component {

        name: "Ubuntu::DownloadManager::DownloadError"

        prototype: "QObject"

        exports: ["Error 0.1"]

        exportMetaObjectRevisions: [0]

        Property { name: "type"; type: "string"; isReadonly: true }

        Property { name: "message"; type: "string"; isReadonly: true }

    }

    Component {

        name: "Ubuntu::DownloadManager::SingleDownload"

        prototype: "QObject"

        exports: ["SingleDownload 0.1"]

        exportMetaObjectRevisions: [0]

        Property { name: "autoStart"; type: "bool" }

        Property { name: "errorMessage"; type: "string"; isReadonly: true }

        Property { name: "isCompleted"; type: "bool"; isReadonly: true }

        Property { name: "downloadInProgress"; type: "bool"; isReadonly: true }

        Property { name: "allowMobileDownload"; type: "bool" }

        Property { name: "throttle"; type: "qulonglong" }

        Property { name: "progress"; type: "int"; isReadonly: true }

        Property { name: "downloading"; type: "bool"; isReadonly: true }

        Property { name: "downloadId"; type: "string"; isReadonly: true }

        Property { name: "headers"; type: "QVariantMap" }

        Signal {

            name: "canceled"

            Parameter { name: "success"; type: "bool" }

        }

        Signal {

            name: "finished"

            Parameter { name: "path"; type: "string" }

        }

        Signal {

            name: "paused"

            Parameter { name: "success"; type: "bool" }

        }

        Signal {

            name: "processing"

            Parameter { name: "path"; type: "string" }

        }

        Signal {

            name: "progressReceived"

            Parameter { name: "received"; type: "qulonglong" }

            Parameter { name: "total"; type: "qulonglong" }

        }

        Signal {

            name: "resumed"

            Parameter { name: "success"; type: "bool" }

        }

        Signal {

            name: "started"

            Parameter { name: "success"; type: "bool" }

        }

        Signal {

            name: "errorFound"

            Parameter { name: "error"; type: "DownloadError&" }

        }

        Signal { name: "errorChanged" }

        Method {

            name: "registerError"

            Parameter { name: "error"; type: "Error"; isPointer: true }

        }

        Method {

            name: "bindDownload"

            Parameter { name: "download"; type: "Download"; isPointer: true }

        }

        Method {

            name: "unbindDownload"

            Parameter { name: "download"; type: "Download"; isPointer: true }

        }

        Method {

            name: "onFinished"

            Parameter { name: "path"; type: "string" }

        }

        Method {

            name: "onProgress"

            Parameter { name: "received"; type: "qulonglong" }

            Parameter { name: "total"; type: "qulonglong" }

        }

        Method {

            name: "onPaused"

            Parameter { name: "wasPaused"; type: "bool" }

        }

        Method {

            name: "onResumed"

            Parameter { name: "wasResumed"; type: "bool" }

        }

        Method {

            name: "onStarted"

            Parameter { name: "wasStarted"; type: "bool" }

        }

        Method {

            name: "onCanceled"

            Parameter { name: "wasCanceled"; type: "bool" }

        }

        Method { name: "start" }

        Method { name: "pause" }

        Method { name: "resume" }

        Method { name: "cancel" }

        Method {

            name: "download"

            Parameter { name: "url"; type: "string" }

        }

    }

    Component {

        name: "Ubuntu::DownloadManager::UbuntuDownloadManager"

        prototype: "QObject"

        exports: ["DownloadManager 0.1"]

        exportMetaObjectRevisions: [0]

        Property { name: "autoStart"; type: "bool" }

        Property { name: "cleanDownloads"; type: "bool" }

        Property { name: "errorMessage"; type: "string"; isReadonly: true }

        Property { name: "downloads"; type: "QVariantList"; isReadonly: true }

        Signal { name: "errorChanged" }

        Method {

            name: "download"

            Parameter { name: "url"; type: "string" }

        }

    }

}

我们通过使用“finished”信号能够得到下载完毕的事件而进行分别的处理!

另外一个样例(Push notification)

liuxg@liuxg:~$ qmlplugindump Ubuntu.PushNotifications 0.1
import QtQuick.tooling 1.1 // This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump Ubuntu.PushNotifications 0.1' Module {
Component {
name: "PushClient"
prototype: "QObject"
exports: ["PushClient 0.1"]
exportMetaObjectRevisions: [0]
Property { name: "appId"; type: "string" }
Property { name: "token"; type: "string"; isReadonly: true }
Property { name: "notifications"; type: "QStringList"; isReadonly: true }
Property { name: "status"; type: "string"; isReadonly: true }
Property { name: "persistent"; type: "QStringList"; isReadonly: true }
Property { name: "count"; type: "int" }
Signal {
name: "countChanged"
Parameter { type: "int" }
}
Signal {
name: "notificationsChanged"
Parameter { type: "QStringList" }
}
Signal {
name: "persistentChanged"
Parameter { type: "QStringList" }
}
Signal {
name: "appIdChanged"
Parameter { type: "string" }
}
Signal {
name: "error"
Parameter { type: "string" }
}
Signal {
name: "tokenChanged"
Parameter { type: "string" }
}
Signal {
name: "statusChanged"
Parameter { type: "string" }
}
Method { name: "getNotifications" }
Method {
name: "notified"
Parameter { name: "appId"; type: "string" }
}
Method { name: "emitError" }
Method {
name: "clearPersistent"
Parameter { name: "tags"; type: "QStringList" }
}
}
}

怎样得到QML package的具体API接口的更多相关文章

  1. 总结的一些微信API接口

    本文给大家介绍的是个人总结的一些微信API接口,包括微信支付.微信红包.微信卡券.微信小店等,十分的全面,有需要的小伙伴可以参考下. 1. [代码]index.php <?php include ...

  2. 公交线路免费api接口代码

    描写叙述:本接口主要是依据城市名称 +  线路名称 模糊查找城市公交线路信息. 开源api接口:http://openapi.aibang.com/bus/lines?app_key=keyvalue ...

  3. SpringMVC Restful api接口实现

    [前言] 面向资源的 Restful 风格的 api 接口本着简洁,资源,便于扩展,便于理解等等各项优势,在如今的系统服务中越来越受欢迎. .net平台有WebAPi项目是专门用来实现Restful ...

  4. hbase rest api接口链接管理【golang语言版】

    # go-hbase-resthbase rest api接口链接管理[golang语言版]关于hbase的rest接口的详细信息可以到官网查看[http://hbase.apache.org/boo ...

  5. MxNet+R︱用R语言实现深度学习(单CPU/API接口,一)

    MxNet有了亚马逊站台之后,声势大涨,加之接口多样化,又支持R语言所以一定要学一下.而且作为R语言的fans,为啥咱们R语言就不能上深度学习嘞~ -------------------------- ...

  6. Spring Boot入门(四):开发Web Api接口常用注解总结

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...

  7. 使用go, gin, gorm编写一个简单的curd的api接口

    go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 d ...

  8. Java 调用Restful API接口的几种方式--HTTPS

    摘要:最近有一个需求,为客户提供一些Restful API 接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试Restful ...

  9. springcloud提供开放api接口签名验证

    一.MD5参数签名的方式 我们对api查询产品接口进行优化: 1.给app分配对应的key.secret 2.Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数 ...

随机推荐

  1. Junit框架使用--JUnit常用断言及注解

    从别人博客中抄过来一点东西 原文地址:http://blog.csdn.net/wangpeng047/article/details/9628449 断言是编写测试用例的核心实现方式,即期望值是多少 ...

  2. chef and churu 分块 好题

    题目大意 有一个长度为n的数组A 有n个函数,第i个函数 \[f(l[i],r[i])=\sum_{k=l[i]}^{r[i]}A_k\] 有两种操作: 1)修改A[i] 2)询问第x-y个函数值的和 ...

  3. Servlet 2.4 规范之第四篇:Servlet上下文

    SRV.3.1    ServletContext接口说明 ServletContext接口定义了运行servlet的web应用中和servlet相关的视图信息.容器提供者负责提供ServletCon ...

  4. LeetCode OJ--Subsets II

    https://oj.leetcode.com/problems/subsets-ii/ 求一个集合的子集,但集合中有重复元素. 求子集的问题,对应着数的二进制,相当于对二进制的一个遍历. #incl ...

  5. cookies-判断用户是否是第一次进入页面

    在郑州美莱的活动项目中客户当时有提到该需求.尽管最后去掉了该需求,但是还是花了我不少时间研究,因为之前的项目我前端没有用到过cookies,吓死宝宝了 $(document).ready(functi ...

  6. spring-mvc 的一些使用技巧(转)

    APP 服务端的 Token 验证 通过拦截器对使用了@Authorization注解的方法进行请求拦截,从 http header 中取出 token 信息,验证其是否合法.非法直接返回 401 错 ...

  7. mac 查看系统位数

    uname -a

  8. 编写Web Serviceclient訪问www.webxml.com.cn提供的服务

    好久没更新博客了,近期各种忙. 之前做Web Service课程的作业,当中有一个实验.实验内容如题所看到的. 以下简单说下怎样编写Web Serviceclient訪问webxml.com.cn里的 ...

  9. nginx学习(二)——基础概念之异步非阻塞

    上面讲了很多关于nginx的进程模型,接下来,我们来看看nginx是如何处理事件的. 有人可能要问了,nginx采用多worker的方式来处理请求,每个worker里面只有一个主线程,那能够处理的并发 ...

  10. Java菜鸟到大牛学习路线培训教程

    第1阶段(Java程序员) - Java语言基础 - 101 JavaSE -01-常见Dos命令.Java历史.Java跨平台.配置Path环境变量.第一个HelloWorld例子 -02-配置JA ...