虽然我们的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. 打印倒序NxN乘法表

    一.实验要求: 给定任意一个字符N(N>0),然后打印NxN的倒序乘法表. 二.解决问题: #/!bin/bash# #define functionNxN_fun(){ local i=$1 ...

  2. python,django,mysql学习之环境安装配置

    参考:https://docs.djangoproject.com/en/1.6/intro/tutorial01/ http://rainyang.blog.51cto.com/469543/115 ...

  3. spring mvc 编写处理带参数的Controller

    在上一随笔记录的基础上,现记录编写处理带有参数的Controller. @Controller //这个注解会告知<context:component:scan> 将HomeControl ...

  4. 想用idea的update classes and resources找不到了,热部署无法使用

    发现为了方便调试页面,想用idea的update classes and resources找不到了,发现需要把deployment选择exploded 的那个war包,才能在service--> ...

  5. java webservice wsimport 无法将名称 'soapenc:Array' 解析为 'type definition' 组件 时对应的解决方法

    (一):代码如下: package com.enso.uploaddata; import org.apache.axis.client.Call; import org.apache.axis.cl ...

  6. Spring异步任务处理,@Async的配置和使用

    本文转自http://blog.csdn.net/clementad/article/details/47403185 感谢作者 这个注解用于标注某个方法或某个类里面的所有方法都是需要异步处理的.被注 ...

  7. 【ActiveMQ】2.spring Boot下使用ActiveMQ

    在spring boot下使用ActiveMQ,需要一下几个条件 1.安装并启动了ActiveMQ,参考:http://www.cnblogs.com/sxdcgaq8080/p/7919489.ht ...

  8. linux的history命令设置

    history的历史记录,同一个用户的各个会话,读取到的内容也是不一样的,原因是它读取的是shell会话缓存里的内容.只有当用户退出当前会话的时候,会话里的缓存内容才会写入~/.bash_histor ...

  9. libevent和libev的区别对比

    参考了这篇文章: http://www.cnblogs.com/Lifehacker/p/whats_the_difference_between_libevent_and_libev_chinese ...

  10. 近期微信上非常火的小游戏【壹秒】android版——开发分享

    近期在朋友圈,朋友转了一个html小游戏[壹秒],游戏的规则是:用户按住button然后释放,看谁能精准地保持一秒的时间.^_^刚好刚才在linuxserver上调试程序的时候server挂了,腾出点 ...