Developing MeeGo Apps with Python and QML 封面

Developing MeeGo Apps with Python and QML

暂无评分
章节数
33

标签

内容简介

《Developing MeeGo Apps with Python and QML》是开发者 Thomas Perl(m@thp.io)为 MeeGo 平台编写的一份教程式技术文档,最初以网络文档的形式发布在其个人站点 thp.io(2010 年),并未经过传统出版社出版,也没有正式的书号和定价信息。全书围绕「用 Python(PySide 绑定)配合 QML 界面开发 MeeGo 应用」这一主线展开:先说明为什么选择 Python 开发 MeeGo 应用,包括入门门槛低、自动内存回收、无需编译、能完整调用 Qt 库、代码量更少、适合快速原型以及在设备上直接开发等优点;接着讲解如何在 MeeGo Netbook 上取得构建脚本、从源码编译 PySide 并安装到用户主目录、配置环境变量与验证安装是否成功。示例部分由浅入深:Hello World 展示了 .py 与 .qml 的配合方式,WebView 示例演示在 QML 中显示 HTML 内容,随后以播客客户端 gPodder 为例,为已有应用重写一套 QML 界面并编写 Python 胶水层。最后一部分讲应用打包:编写 .desktop 入口、图标、Spectacle 打包用的 YAML 描述与 setup.py,生成 RPM 源码包、构建并安装测试。篇幅不长,但覆盖了从环境搭建到出包的完整流程,是 MeeGo 时代 PySide + QML 开发的一份实用入门材料。

编辑推荐

这是一份「小而完整」的技术文档,而不是大部头教材——恰恰因为篇幅短,它读起来几乎没有赘余:开门见山讲清为什么用 Python + PySide 写 MeeGo 应用,然后直接把环境搭起来,接着就是能跑起来的代码。对新手最友好的一点是,它不满足于 Hello World,而是拿一个真实应用 gPodder 当靶子,演示如何为既有后端重写一套 QML 界面、如何在 Python 里写胶水层、如何把 .qml 文件拆成主界面与列表组件。这种「先小例子、后真项目」的编排,正是许多教程缺的一环。打包章节同样难得:桌面入口、图标、Spectacle 的 YAML 描述、distutils 的 setup.py、生成 RPM 源码包并安装验证,全流程都给了具体文件名,照着做即可。需要提醒的是,本书写于 2010 年,MeeGo 项目和早期 PySide 版本都已成为历史,命令与仓库地址多已失效,阅读价值主要在于理解 QML 与 Python 结合的分层思路、以及 Linux 桌面端应用打包的基本方法论,因此更适合当作「历史现场的技术笔记」而非可照抄的现代教程。

适合谁读

适合

  • 对 Qt/QML 与 Python 结合开发感兴趣的开发者
  • 想了解 2010 年代移动 Linux 平台技术生态的技术史爱好者
  • 需要参考 Linux 桌面应用 RPM 打包全流程的工程师
  • 希望用真实项目(如 gPodder)学习 QML 界面重写的读者

不适合

  • 寻找现代移动开发(Android/iOS/Flutter)入门教材的读者
  • 期望直接照抄代码在当今环境运行的新手
  • 需要系统讲解 Qt 框架原理与 C++ 底层的读者

阅读建议

  1. 先跳过平台背景章节,直接读 Hello World 与 WebView 两个例子,建立 PySide + QML 配合的直观印象。
  2. 读 gPodder 示例时把重点放在「Python 胶水层如何向 QML 暴露数据」,而不是具体 API 调用。
  3. 打包章节可按文件名顺序对照实践,但需替换为当前可用的打包工具与仓库地址。
  4. 将它作为历史文献阅读,配合当下 PySide6 + Qt Quick 的官方文档对照,理解哪些思路仍然成立。

目录

  1. Introduction(引言)
  2. Why should I use Python to develop MeeGo apps?
  3. Links
  4. Setting up the environment
  5. Getting the build scripts
  6. Building PySide and installing into $HOME
  7. Setting up environment variables
  8. Testing the installations
  9. Basic QML tutorial examples
  10. Hello World
  11. The Python source (HelloMeeGo.py)
  12. The QML UI file (HelloMeeGo.qml)
  13. Displaying HTML content in a QML WebView
  14. The Python source code (WebKitView.py)
  15. The QML content (WebKitView.qml)
  16. The HTML page (WebKitView.html)
  17. Writing a new QML UI for existing apps for MeeGo
  18. A QML UI for gPodder
  19. The glue layer in Python (gpodder-qml.py)
  20. The QML main UI file (gpodder-qml.qml)
  21. The QML file for displaying a list of podcasts (PodcastList.qml)
  22. The QML file for displaying a list of episodes (EpisodeList.qml)
  23. Packaging a Python application for MeeGo
  24. Installing the required dependencies
  25. Creating the required metadata files
  26. The desktop entry: gpodder-qml.desktop
  27. The icon for the app menu: gpodder-qml.png
  28. The Spectacle YAML file: gpodder-qml.yaml
  29. The Python distutils file: setup.py
  30. Changes in the gpodder-qml.py script
  31. Creating the RPM sources
  32. Building the RPM package from source
  33. Installing and testing the RPM package

常见问题

这本书是正式出版的图书吗?
不是。它是 Thomas Perl 于 2010 年发布在个人站点 thp.io 上的教程文档,常以 PDF 形式在网络流传,没有出版社、ISBN 与定价信息,因此本书目数据中这些字段留空。
为什么强调用 Python 而不是 C++ 开发?
文档给出的理由包括:入门门槛低、自动垃圾回收、解释执行无需编译、通过 PySide 可访问全部 Qt 模块、代码量约为 C++ 的三分之一,且适合在低性能上网本上边改边跑。
书中的代码现在还能直接运行吗?
大概率不能。MeeGo 项目已停止,早期 PySide 的构建脚本、仓库地址与依赖名多已失效。其中的 QML 分层思路与打包方法论仍有参考价值,但需改用当前 PySide6 等工具链重做。
文中的 gPodder 示例讲了什么?
以播客客户端 gPodder 为例,演示为既有 Python 后端新写一套 QML 界面:主界面文件、播客列表与单集列表组件,以及把后端数据暴露给 QML 的 Python 胶水层,最后打包成 RPM 安装测试。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分