Archive:Development/Tutorials (zh CN)

From KDE TechBase

Template:I18n/Language Navigation Bar (zh CN)

教程是学习KDE,发现KDE都能为你做哪些事以及如何做的捷径。下面是当前可用的KDE4教程列表。关于KDE3和KDE2的材料可以在本页的底部找到。

KDE4编程介绍

你是否对用KDE4写程序感兴趣呢?这个系列教程的目的是让那些对KDE编程没有任何概念的新手能够入门。

世界你好
本教程介绍了KDE4编程的最基本的知识
创建主窗口
本教程将向你展示关于应用程序最重要的部分──主窗口──的魔术。
使用KActions
如何向菜单和工具栏中添加动作。
保存与载入
介绍KIO类库,为应用程序增加加载,存储的功能。
命令行参数
在命令行用文字编辑器打开指定文件。


基础知识

移植你的程序
帮助你将应用程序从Qt3/KDE3移植到Qt4/KDE4
CMake介绍
介绍如何使用KDE4的构建系统CMake。
常见编程错误
介绍各种在开发Qt和KDE应用程序时常见的错误,以及如何避免它们。
使用Qt Designer构建用户界面
如何使用designer创建UI文件,以及如何将它们集成到KDE程序中。
把代码加到库中
如何把类库加到联编系统以及如何准备源代码。
会话管理
让程序了解X会话


测试与调试

调试你的应用程序
介绍在你调试KDE应用程序时可以采用的工具、技术和技巧。
使用QTestLib为Qt4与KDE4编写单元测试 (原始出处)
Brad Hards的教程,介绍了如何使用QTestLib编写单元测试。它是一个基于例子的教程,仍在开发中。
检测错误代码的半自动方法
介绍了一些在KDE代码中检测错误代码的技术

使用KConfig管理配置数据

KConfig介绍
概要介绍了KConfig相关的类,以及如何在你的应用程序代码中使用它们
使用KConfig XT
关于如何有效使用KConfig XT框架的教程
更新KConfig文件
关于如何编写一个更新脚本,以保证你程序的配置文件格式与用户已使用的现有配置文件一致的教程

服务:应用程序和插件

服务框架介绍
关于KDE中的服务框架,以及它们向开发人员提供了哪些功能的概述。覆盖了对系统配置文件缓存(SyCoCa)、源数据文件以及用索引信息可以做哪些事情的介绍
使用Trader查询来查找服务
如何使用Trader查询语法来查找那些在SyCoCa中被索引了的服务,如插件或者mime类型等
使用KService创建和载入模块
学习如何使用KService,以一种方便且易于扩展方式来完成诸如定义自定义插件类型、查找已安装的插件(包括第三方插件)、以及载入插件等任务。

本地化

本地化入口.

Unicode介绍
对Unicode和如何在KDE应用程序中处理Unicode的一个简要说明。
编写考虑到本地化需要的应用程序
这篇教程内容涵盖了什么是本地化、为什么本地化很重要和如何确定您的应用程序已经为本地化做好准备。这是一份所有应用程序开发者的必读说明。
避免常见的本地化陷阱
通常有许多普遍易犯的错误阻碍应用程序被正确地本地化。这篇教程阐述了什么是错误的方式,并告诉您如何简单地避免这些错误。
构建KDE本地化模块
对那些开发KDE主应用库的人来说,联编和安装支持KDE的本地化的语言( l10n )模块是一个好主意。这样做可以让您测试您的应用程序在另一种语言并且迅速发现什么地方出问题了。本教程告诉我们如何做到这一点。

将i18n合并到构建系统中
一旦您已准备好进行本地化工作,下一步是确保翻译文件是自动创建并且是不断更新的。本教程涵盖了必要CMakeFiles.txt流程 以及您的应用程序中所产生的信息在发布时的流程。

常见的i18n挑战和解决方案
本教程涵盖你所可能遇到的各种挑战,诸如陷入如翻译手册时存在源代码以外的资料,合并和处理独立PO文件,处理冻结的文件,处理英语以外的语言和创建独立发布版本或者在KDE模块间转移一些应用。

消息的语义标记
为了应用程序中保证一贯的表述,并使得消息更有意义,用于标示语义标记翻译可使用KUIT系统。此教程说明本系统如何工作的。

自动化i18n代码检查
Krazy代码检查器扫描KDE的代码并报告常见的i18n错误。

文档

API文档
本教程告诉我们如何正确对应用程序接口(API)进行建档
Man Pages
编写产生参考手册。

应用程序自动化及脚本

D-Bus

D-Bus介绍
从一个程序开发员的角度对D-Bus作一个单刀直入的介绍,教程里讲述了D-Bus是什么以及如何人在应用程序中使用。
访问D-Bus接口
手把手指导如何用QtDBus调用D-Bus并连接到D-Bus信号。
中级D-Bus编程
利用QtBus的一些技巧,可以用来解决现实生活中的一些问题。
创建D-Bus接口
如何创建和定制D-Bus的接口来增强你的应用程序。教程包含了产生XML描述,运行时实例化接口,用CMake建立联编系统。
D-Bus自动启动服务
如何把你的程序改装为一个D-Bus自启动的服务。D-Bus的这个功能也被成为"D-Bus自启动服", 他将确保即便你没有启动你的程序,D-Bus后台程序也会在需要时把它起起来。
从DCOP移植到D-Bus
从DCOP向D-BUS 移植指导手册。

Konqueror

创建Konqueror服务菜单
本教程将讲述如何在Konqueror's浮动菜单中创建特定mimetype的动作 (aka "servicemenus").

Kross

Kross介绍
介绍Kross脚本框架.
世界你好
Kross的第一段代码。
在Kross调用其它功能
简单演示如何调用脚本功能
链接Kross中的信号和槽
简单演示如何把对象信号和脚本的槽相连。
使用Kross脚本编写插件
本教程将手把手的讲述如何把脚本作为插件集成到KDE应用程序中。
以KPlugins方式加载Kross脚本
本教程将手把手的讲述如何以KPlugins方式加载Kross脚本。
为程序菜单添加脚本动作
简单演示如何在程序菜单中执行脚本。

KOffice Plugin Tutorials

KOffice概览
本文介绍不同KOffice的插件类型并且讲述了各自的用途和强项。 对KOffice插件的新手来说,这是个很好的切入点。
创建KOffice Flake插件
讲述如何创建一个KOffice的插件,同时用Flake把你的内容嵌入到ODF文档里去。
编写KWord脚本
在KRoss框架内使用Python,Ruby或JavaScript为KWord写插件等。
编写KSpread脚本
在KRoss框架内使用Python,Ruby或JavaScript为KSpread写插件等。
编写Krita脚本
在KRoss框架内使用Python,Ruby或JavaScript为Krita写插件等。

SuperKaramba

SuperKaramba教程
全面介绍SuperKaramba,主题文件和Python, Ruby和JavaScript脚本.

System Activity

Writing script actions for the process's context menu
This tutorial shows how to add a context menu action to show custom information about a process.

插件和KParts

开发Kontact插件

Kontact 插件就是KParts. 此教程说明如何您可以开发一个。

使用KParts
如何在应用窗口中加载KPart。

搜索与元数据

Strigi

编写文件分析器
文件分析器从文件或对话框抽取信息。这样产生的数据也会被用于文件搜索。KDE4允许对一个文件使用多个分析器。本教程讲述如何编写一个新的分析器。

Nepomuk

Nepomuk 快速入门
如何快速上手使用Nepomuk。
Nepomuk中的RDF和本体
介绍RDF和本体在Nepomuk的应用。
用Nepomuk处理资源
Nepomuk是KDE的一套类库,用它可以方便的存取Nepomuk系统中的元数据。教授如何在程序中创建和读取Nepomuk系统中的元数据。
使用Nepomuk资源产生器
Nepomuk包括一个资源产生器,用于处理元数据 。
高级查询
Nepomuk的真正用途在于对数据源的查询结果的掌控。本教程介绍如何用Nepomuk进行语意查询和全文查询。
Nepomuk服务器和Nepomuk系统架构
Nepomuk服务器在有Nepomuk主要数据仓库并且可以通过Soprano API直接存取。
Nepomuk服务
Nepomuk服务器管理一系列Nepomuk服务。
  • 存储服务 这也许是它最重要的服务了,采用Soprano装载Nepomuk的数据仓库。
  • 本体加载 确保安装的本体信息如RDF, RDFS, NRL, 或Xesam都已加载到存储仓库里了。
  • 文件监视服务 监视文件系统,一旦有变化,即时更新Nepomuk的文件资源路径和URI
  • Strigi服务 控制Strigi,文件索引工具,它从文件中抽取元数据并把它存储到数据仓库中。
Nepomuk Tips and Tricks
A set of tips and tricks for development with Nepomuk and Soprano. This is a must-read if you intend to use Nepomuk in your application or hack on it directly.

硬件发现(Solid)

Solid介绍
介绍使用Solid发现硬件以及如何与KDE程序交互。
访问网络信息
如何用Solid系统获取网络信息

特权程序(PolicyKit)

Introduction to PolicyKit
简单介绍PolicyKit是什么,它是如何在程序需要超级用户权限或其它认证时起作用的。
利用caller-helper模式以root用户权限操作
本教程讲述如何在程序中方便的以root用户执行一些操作(用户有相应授权)。PolicyKit和caller-helper的使用是由一定技巧的。
在KCM模块中获取root权限
本教程讲述如何以root用户来创建一个可以保存设置的KCModules。

多媒体(Phonon)

Phonon
如何使用多媒体的应用程序接口(API)

Plasma

请见Plasma 教学

通讯 (Decibel)

Decibel入门
如何设置Decibel.
处理文字通道(TextChannels)
本教程通过如何编写一个简单的聊天程序介绍文字通道(TextChannels)的处理方法。

个人信息管理(Akonadi)

开发Akonadi 资源
Akonadi Resources是一个代理程序,在Akonadi和后台程序间(文件,服务器,等)传送PIM数据。

Kate / Kwrite

KTextEditor插件入门
创建你第一个插件

KDevelop

KDevelop-PG-Qt Introduction
Information on the KDevelop parser generator, useful for language plugins.

打印

世界你好
介绍KDE打印系统
TODO 打印对话框
使用KDE打印对话框

kioslaves

获取热点新材料

获取热点新材料 2
如何使用KHotNewStuff2。
获取热点新材料入门
介绍一个对开发员友好的网络更新系统,KDE程序可以在运行时以一种友好的方式获取最新运行数据。
KNewStuff安全项 (原文链接)
如何以另一种方法使用资源(KDE 3.4 及更新). 由 András Mantia <[email protected]>开发.

Goya

Goya使用简介
介绍Goya子系统应用, 让你轻易的为物品视图添加图形并把他们产生的时间链接到你得处理代码上,从而使它们成为真正的图形应用。
Goya的使用(第二部分)
教程第二部分,加了些复杂的例程。

快速应用程序开发(RAD)

Python

PyQt介绍
初学者
PyQt by Example
介绍PyQt
PyKDE WebKit Tutorial
PyKDE的浏览器
101 signals 与slots介绍
对QT信号与槽架构的简单介绍
PyKDE DBus Tutorial
介绍如何使用PyKDE来链接D-BUS通讯。

Ruby

KDE Ruby Korundum教程
Ruby版的Antonio Larrosa Jiménez's KDE教程,由Richard Dale开发。详见Ruby开发者,内有Qt教程和其它信息。
Qt4 Ruby教程
Nokia的Ruby Qt教程。
用Ruby创建Plasma小程序
介绍如何利用Ruby创建Plasma小程序。
在 Kubuntu 使用Qt Designer 和 Ruby 开发 Qt4 应用程序
本教学从头开始展示如何使用 Qt Designer 设计一个简单的用户接口,然后把产生的 widget 使用在 Qt Ruby 应用程序。
Ruby-Qt/KDE Book
There is also an approach to create an Ruby-Qt/KDE Book under a free license. The content will be created in this wiki.

Shell

使用KDE对话框进行脚本编程 (原文链接)
Brad Hards介绍如何在脚本中使用KDE对话框Kdialog。其中有实例和教程。

图形编程

QPainter性能
对使用QPainter导致性能影响的一些常见错误进行介绍

使用KDE游戏库

KStandardGameAction
用libkdegames开发符合KDE游戏标准的游戏。
排行榜
在程序中实现一个简单的排行榜
主题选择器
使用libkdegames主题选择对话框。
Palapeli模式
为Palapeli创建一种模式

KGLEngine

安装和开发首个KGLItem
开始使用kglengine
物品移动
如何移动kglitem
冲突发现
如何发现冲突和交互。
材质和色彩
为你的创作添加材质和色彩。
颗粒和阴影效果
添加特效
kglpong
创建一个pong

KALEngine

播放声音
在KALEngine中用openAL开发游戏中的声响效果。
播放音乐
利用KALEngine播放流音乐

使用KDE PIM类库

iCalendar功能
利用kcal来操作iCalendar文件。


其它教程

2D绘图(KPlotWidget)

使用KDE数据绘制widget
本教程介绍了KPlotWidget, 它可以被用来开发二维数据打印。他介绍了一些简单应用(包括添加修改数据集,定制打印坐标和标签),以及一些高级定制化(包括如何通过扩展子类来扩展图形界面)。

拼写与语法检查

在KDE应用程序中添加拼写或语法检查
本教程介绍了Sonnet,以及如何使用它来为你的KDE程序添加语言检查. Sonnet的辅助功能将在另外一个教程中介绍。

像素图缓存(KPixmapCache)

使用KDE像素图缓存
本教程讲述如何用KPixmapCache来缓存从矢量数据(SVG)或其他数据源产生的点阵图。

使用MarbleWidget (Marble)

Using MarbleWidget
本教程告诉我们如何在我们的程序中使用Marble Widget。

用本地SCM开发KDE

Using Git to develop for KDE
本教程告诉我们如何用GIT作KDE开发。

实现KSysGuard探测器并添加绑定

Development/Tutorials/Sensors
本教程讲述如何编写KSysGuard探测器并如何把它链接到SysTray。

Runners

将一个程序从 KSystemTrayIcon 转换到 KStatusNotifierItem

Development/Tutorials/PortToKStatusNotifierItem
本教程展示了如何将一个使用KSystemTrayIcon的程序转换到使用KStatusNotifierItem

KDE2和KDE3相关材料

KDE3教程
KDE3 相关教程
KDE2教程
KDE2 相关教程