虽然我们的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. Java-约瑟夫问题(Josephus Problem)

    题目: 据说着名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人到,于是决定了一个自杀方 ...

  2. 关于记忆力:遵从一些原则,自省增加经验,there is a way out of almost everything

    年轻人记忆力减退的原因不同于老年人,由疾病所引起的占极少数,一般都是由于学习生活等因素造成精神高度紧张或连续用脑过度使神经疲劳所致. 学会科学的分析和考虑问题的方法,对提高记忆力来说是最为首要的. 保 ...

  3. 苹果safari支持flex布局

    今天突然发现flex布局不支持safari  解决办法 .page-wrap { display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ disp ...

  4. mybatis原理源码大牛连接

    mybatis讲解的非常好的连接: https://www.jianshu.com/nb/5226994 执行流程简介参考:http://www.cnblogs.com/dongying/p/4142 ...

  5. Linux用户空间与内核空间(理解高端内存)【转】

    转自:http://www.cnblogs.com/wuchanming/p/4360277.html Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递 ...

  6. AC日记——图灵机游戏 codevs 2292

    2292 图灵机游戏  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description [Shadow 1]第二题 ...

  7. AC日记——网络最大流 洛谷 P3376

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  8. 获取某个元素相对于视窗的位置-getBoundingClientRect

    1. getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. 语法:这个方法没有参数 rectObject = ...

  9. FFT题集

    FFT学习参考这两篇博客,很详细,结合这看,互补. 博客一 博客二 很大一部分题目需要构造多项式相乘来进行计数问题. 1. HDU 1402 A * B Problem Plus 把A和B分别当作多项 ...

  10. Codeforces 889C Maximum Element(DP + 计数)

    题目链接  Maximum Element 题意  现在有这一段求序列中最大值的程度片段: (假定序列是一个1-n的排列) int fast_max(int n, int a[]) { int ans ...