[TOC]

A. 面板
---------

[image:22 align:right]
    图 - 启动面板

QPython 是安卓系统上的 Python 引擎,通过 QPython,你可以很好地在安卓系统上使用 Python。

QPython 需要你赋予网络、蓝牙、 地理位置等系统权限,这样你就可以使用这些特性进行编程,当然 QPython 不需要你赋予读取手机信息、阅读短信、访问手机帐户等权限,因此你无法使用对应这部分 SL4A 相关的接口。如果你需要更开放的权限来编程,请使用更开放的 QPython3。

当然,不论是 QPython 或者 QPython3,我们都不会用这些权限收集您的个人信息,它们仅仅是在您编程时被使用。(注意:我们会使用网络权限来检查是否是最新版本)

本篇向导是基于最新的 1.0.4 版本的 QPython 而写,如果您不是使用最新的 QPython,请尽快更新。

安装 QPython 之后,运行它,然后你就看见了像图片里的启动界面。


### 启动按钮
点击屏幕中间的带有 Python 标志的按钮后,会显示运行启动菜单,你可以:
* **从 QRCode 代码图片中读取代码** (一种有趣的分享和发布代码的方法,你可以通过 [QPython's QRCode 生成器](http://qpython.com/#qrcode)创建 QRCode 图片) 
* **运行设备中的脚本**
* **运行设备中的项目**


[image:23 align:right]
    图 - 启动按钮

如果你正在使用的版本 >=0.9.8 ,你可以运行脚本目录里面的 php_console.py 来安装许多第三方库。

如果你想在点击启动按钮后运行特定的脚本或项目,而不是像默认的显示选择菜单,你可以通过在设置页中“设置默认程序”来实现。


### 开发者工具面板
如果你在启动按钮的面板上向左滑动,你将会看到另一个主要面板。 对开发者而言,它将更实用和方便。

[image:24 align:right]
    图 - 开发者面板

这里有很多有用的功能:

* **控制台** — 对,它就是常见的 Python 控制台,你可以直接与 Python 解析器进行交互
* **编辑器** — QPython 内置了的代码编辑器,使得你可以直接在 QPython 应用内编辑和运行代码
* **程序** — 在这里可以找到你的 QPython 脚本和项目,默认安装后,这会有一些示例脚本和项目
* **库** — 你可以在这里安装很多 Python 库
* **社区** — 通过社区,你可以在这里更佳深入地学习和使用 QPython ,以及参与到 QPython 的建设中来

接下来,让我们一起看看控制台和编辑器:

B. 控制台和编辑器
------------------
[image:25 align:right]
    图 - 控制台


如果你在开发者面板上长按控制台或编辑器图标,你还可以在桌面上创建一个快捷方式,点击它允许你直接进入控制台或者编辑器。

### 控制台

[image:26 align:right]
    图 - 由通知栏进入控制台


就像我前面所说的,QPython 有个和 PC 端一样的 Python 控制台,许多用户习惯了用它来探索编程对象属性, 试验语法或测试他们已有的主意。你能在终端里直接键入命令,让 Python 解析器来执行他们。点击控制台右上角的“+”图标能够新建一个终端窗口,点左上角的箭头可以显示当前已经开启的控制台窗口列表,借此你可以切换到不同的控制台。如果想关闭控制台,点击关闭按钮“x”即可。



请注意,打开控制台后,消息提示栏目会出现终端小图标,除非你已关闭了终端。如果你打开提示窗,点击终端小图标后,你可以再次回到终端。


### 编辑器

[image:27 align:right]
    图 - 编辑器

QPython 内嵌的编辑器,允许你方便地在掌上进行 Python 开发,它有以下功能:

- 打开文件
- 新建文件或项目
- 左缩紧4个空格
- 右缩紧4个空格
- 跳转到指定行
- 保存当前文件
- 运行当前的 Python 文件
- 撤销上一步操作
- 根据关键词查找
- 显示最近编辑的文件列表
- 插入代码片段
- 设置编辑器默认行为


编辑器允许你进入进入和编辑文本。你可以开发你的脚本,保存并且运行它们。编辑器支持 Python 语法高亮和显示行数。

在输入时,你可以通过底部控制栏的前两个图标“<”和“>”轻松地控制缩紧级别(对 Python 而言很重要)。接下来是“跳转到?行”,点击图标,输入行数即可快速跳转到你想要跳转的行数,再下来是**保存** 和 **另存为**,然后是 **运行**、**撤销**, **搜索**, **最近打开**, **代码片段** 和 **编辑器设置** 按钮。别忘了顶部导航右侧还有 **打开** 和 **新建**按钮。

在保存时,别忘了在后缀名增加“.py”后缀,因为编辑器不会自动完成。

C. 程序
----------
在程序里你能管理你的脚本和项目,它们分别位于 /sdcard/com.hipipal.qpyplus/scripts 和 /sdcard/com.hipipal.qpyplus/projects 。

进入程序之后,当长按脚本或项目时,你可以在桌面上创建一个对应脚本或项目的快捷方式,当你创建它们的快捷方式后,你就可以直接从桌面启动它们了。


### 脚本
[image:28 align:right]
    图 - 脚本及点击操作选项

脚本,就是一个简单的文件,脚本位于 /sdcard/com.hipipal.qpyplus/scripts 目录。
如果你想要让自己实现的脚本也出现在这里,请把它们放置于这个目录中。

点击脚本后,你可以进行以下操作:

- 运行:运行脚本
- 打开:用内嵌的编辑器编辑脚本
- 重命名:将脚本重命名
- 删除:删除该脚本

### 项目
[image:29 align:right]
    图 - 项目及长按创建快捷方式

项目,包含了 main.py 作为默认启动脚本的一个目录,同时你可以在里面放第三方依赖的库或资源,如果你希望你的项目能被 QPython 自动发现,请把它放到 /sdcard/com.hipipal.qpyplus/projects 目录里。

当你点击项目时,你能够进行:

- 运行项目
- 用资源浏览器打开项目,查看其资源
- 重命名项目
- 删除该项目


D. 库
------
库是 QPython 一个重要的部分,通过库,你可以安装 Python 库,在这里,你可以从官方 Pypi 源安装许多纯 Python 编写的库(如果有c/++文件需要编译,则会因为找不到编译链工具而失败)

[image:30 align:right]
    图 - 库

### 手动安装库
通常情况下,你也可以通过将你的库放置于  /sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages  目录下来完成手工安装。

但如果你的库中有.so文件,并且你已尝试将它们放置于 sdcard 的目录中它无法成功装载则需要尝试此步骤:
将他们安装到
 /data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/ 
目录下。

### 从 QPypi 安装
[image:31 align:right]
    图 - 从QPypi安装

我们提供了一个QPypi web服务,发布了几个库,点击详情之后,你可以通过点击“安装”来安装库(它实际是调用了pypi工具来完成此项操作)。

- 关于 QPypi 服务
目前我们在维护 QPypi 服务,欢迎第三方库的开发者[联系我们](mailto:support@qpython.org),我们可以为您创建一个 QPypi 账户,然后您就可以用 pypi 的体系自行维护您在 QPypi 中的 Python 库了。

### 从官方 Pypi 安装
[image:32 align:right]
    图 - 从 Pypi 安装

点击之后,您进入了 pypi 命令界面,它调用了 pypi 工具来让您自行安装,只需要输入 pip 命令,比如 pip install <sample> 之类的语句即可安装库,不过需要注意地是,当前无法安装带有 c/c++ 等需要编辑的文件的库,因为安卓默认没有可用于编译的工具链。

一般而言,通过 QPypi 或者 Pypi 安装的包都会被安装到 /data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/ 目录中。

E. 社区
--------------
[image:33 align:right]
    图 - QPython 社区

你可以在社区中遇到其他 QPython 用户,你可以问问题,参与话题讨论,向开发者提交 BUG / 建议等等。

此外,我们将会积极地推动 QPython 最终完全开源, 因此也欢迎热心的用户加入我们,我们迫切地需要你们在下列领域帮助我们:

- 语言国际化
- 帮助我们进行测试并且提交测试反馈
- 反馈问题、提交良好的建议
- 建立本地社区,发起本地技术讲座,共同学习

其他
-----------


[感谢 Dmych](http://onetimeblog.logdown.com/posts/2014/01/22/qpython-how-to-start)