Archive:Development/Tutorials (zh CN): Difference between revisions

From KDE TechBase
m (AnneW moved page Development/Tutorials (zh CN) to Archive:Development/Tutorials (zh CN) without leaving a redirect: Obsolete)
 
(32 intermediate revisions by 8 users not shown)
Line 6: Line 6:
你是否对用KDE4写程序感兴趣呢?这个系列教程的目的是让那些对KDE编程没有任何概念的新手能够入门。
你是否对用KDE4写程序感兴趣呢?这个系列教程的目的是让那些对KDE编程没有任何概念的新手能够入门。


;[[Development/Tutorials/First program (zh_CN)|Hello World]]
;[[Development/Tutorials/First program (zh_CN)|世界你好]]
:''本教程介绍了KDE4编程的最基本的知识''
:''本教程介绍了KDE4编程的最基本的知识''


Line 12: Line 12:
:''本教程将向你展示关于应用程序最重要的部分──主窗口──的魔术。''
:''本教程将向你展示关于应用程序最重要的部分──主窗口──的魔术。''


;[[Development/Tutorials/Using KActions|使用KActions]]
;[[Development/Tutorials/Using KActions (zh_CN)|使用KActions]]
:''如何向菜单和工具栏中添加动作。''
:''如何向菜单和工具栏中添加动作。''
;[[Development/Tutorials/Saving and loading (zh_CN)|保存与载入]]
:''介绍KIO类库,为应用程序增加加载,存储的功能。''
;[[Development/Tutorials/KCmdLineArgs (zh_CN)|命令行参数]]
:''在命令行用文字编辑器打开指定文件。''


== 基础知识 ==
== 基础知识 ==
Line 19: Line 26:
:''帮助你将应用程序从Qt3/KDE3移植到Qt4/KDE4''
:''帮助你将应用程序从Qt3/KDE3移植到Qt4/KDE4''


;[[Development/Tutorials/CMake|CMake介绍]]
;[[Development/Tutorials/CMake_(zh_CN)|CMake介绍]]
:''介绍如何使用KDE4的构建系统CMake。''
:''介绍如何使用KDE4的构建系统CMake。''


Line 28: Line 35:
:''如何使用designer创建UI文件,以及如何将它们集成到KDE程序中。''
:''如何使用designer创建UI文件,以及如何将它们集成到KDE程序中。''


;[[Development/Tutorials/Command-Line Options|使用命令行选项]]
;[[Development/Tutorials/Creating Libraries_(zh_CN)|把代码加到库中]]
:''使用KDE的命令行参数类来简化对命令行参数的处理与访问''
:''如何把类库加到联编系统以及如何准备源代码。''
 
;[[Development/Tutorials/Session_Management_(zh_CN)|会话管理]]
:''让程序了解X会话''
 


== 测试与调试 ==
== 测试与调试 ==


;[[Development/Tutorials/Debugging|调试你的应用程序]]
;[[Development/Tutorials/Debugging_(zh_CN)|调试你的应用程序]]
:''介绍在你调试KDE应用程序时可以采用的工具、技术和技巧。''
:''介绍在你调试KDE应用程序时可以采用的工具、技术和技巧。''


Line 63: Line 74:


== 本地化 ==
== 本地化 ==
见 [[Localization|本地化入口]].
;[[Development/Tutorials/Localization/Unicode|Unicode介绍]]
;[[Development/Tutorials/Localization/Unicode|Unicode介绍]]
:''对Unicode和如何在KDE应用程序中处理Unicode的一个简要说明。''
:''对Unicode和如何在KDE应用程序中处理Unicode的一个简要说明。''


; [[Development/Tutorials/Localization/i18n|编写考虑到本地化需要的应用程序]]
; [[Development/Tutorials/Localization/i18n|编写考虑到本地化需要的应用程序]]
:''This tutorial covers what localization is, why it's important and how to ensure your application is ready to be localized. A must read for all application developers.''
:''这篇教程内容涵盖了什么是本地化、为什么本地化很重要和如何确定您的应用程序已经为本地化做好准备。这是一份所有应用程序开发者的必读说明。''


; [[Development/Tutorials/Localization/i18n Mistakes|避免常见的本地化陷阱]]
; [[Development/Tutorials/Localization/i18n Mistakes|避免常见的本地化陷阱]]
:''There are several common mistakes that prevent applications from being properly localized. Find out what they are and how to easily avoid them in this tutorial.''
:''通常有许多普遍易犯的错误阻碍应用程序被正确地本地化。这篇教程阐述了什么是错误的方式,并告诉您如何简单地避免这些错误。''


; [[Development/Tutorials/Localization/Building KDE's l10n Module|构建KDE本地化模块]]
; [[Development/Tutorials/Localization/Building KDE's l10n Module|构建KDE本地化模块]]
:''Building and installing language support from KDE's localization (l10n) module is a good idea for those working on applications in the main KDE repository. Doing so will allow you to test your application in another language and spot problem areas. Learn how to do just that in this tutorial.''
:''对那些开发KDE主应用库的人来说,联编和安装支持KDE的本地化的语言( l10n )模块是一个好主意。这样做可以让您测试您的应用程序在另一种语言并且迅速发现什么地方出问题了。本教程告诉我们如何做到这一点。
''


; [[Development/Tutorials/Localization/i18n Build Systems|将i18n合并到构建系统中]]
; [[Development/Tutorials/Localization/i18n Build Systems|将i18n合并到构建系统中]]
:''Once your application is ready to be localized, the next step is to ensure that translation files are built automatically and kept up to date. This tutorial covers the necessary CMakeFiles.txt additions as well the process of distributing the resulting message catalogs with your application.''
:''一旦您已准备好进行本地化工作,下一步是确保翻译文件是自动创建并且是不断更新的。本教程涵盖了必要CMakeFiles.txt流程 以及您的应用程序中所产生的信息在发布时的流程。
''


; [[Development/Tutorials/Localization/i18n Challenges|常见的i18n挑战和解决方案]]
; [[Development/Tutorials/Localization/i18n Challenges|常见的i18n挑战和解决方案]]
:''This tutorial covers challenges that you may eventually run into such as translating handbooks and other data that exists outside of the source code, merging and handling obsolete .po files, dealing with freezes, coding in languages other than English and creating independent releases of or moving applications between KDE modules.''
:''本教程涵盖你所可能遇到的各种挑战,诸如陷入如翻译手册时存在源代码以外的资料,合并和处理独立PO文件,处理冻结的文件,处理英语以外的语言和创建独立发布版本或者在KDE模块间转移一些应用。
''


; [[Development/Tutorials/Localization/i18n_Semantics|消息的语义标记]]
; [[Development/Tutorials/Localization/i18n_Semantics|消息的语义标记]]
:''To ensure consistent presentation and more meaningful representations of messages in applications, semantic markup can be applied to messages marked for translation using the KUIT system. This tutorial describes how this system works.''
:''为了应用程序中保证一贯的表述,并使得消息更有意义,用于标示语义标记翻译可使用KUIT系统。此教程说明本系统如何工作的。
''


; [[Development/Tutorials/Localization/i18n Krazy|自动化i18n代码检查]]
; [[Development/Tutorials/Localization/i18n Krazy|自动化i18n代码检查]]
:''The Krazy code checker scans KDE's code and reports common i18n mistakes.''
:''Krazy代码检查器扫描KDE的代码并报告常见的i18n错误。''


== 文档 ==
== 文档 ==


;[[Development/Tutorials/API_Documentation|API文档]]
;[[Development/Tutorials/API_Documentation|API文档]]
:''This tutorial explains how to document your APIs properly.''
:''本教程告诉我们如何正确对应用程序接口(API)进行建档''
 
;[[Development/Tutorials/Man_Pages|Man Pages]]
:''编写产生参考手册。''


== 应用程序自动化及脚本 ==
== 应用程序自动化及脚本 ==


=== D-Bus ===
=== D-Bus ===
; [[Development/Tutorials/D-Bus/Introduction|D-Bus介绍]]
; [[Development/Tutorials/D-Bus/Introduction|D-Bus介绍]]
:''A straight-forward introduction to the core concepts in D-Bus from an application developer's perspective, this tutorial covers what D-Bus is and how it can be used by applications.''
:''从一个程序开发员的角度对D-Bus作一个单刀直入的介绍,教程里讲述了D-Bus是什么以及如何人在应用程序中使用。''
 
; [[Development/Tutorials/D-Bus/Accessing Interfaces|访问D-Bus接口]]
; [[Development/Tutorials/D-Bus/Accessing Interfaces|访问D-Bus接口]]
:''A step-by-step guide to calling D-Bus methods and connecting to D-Bus signals using QtDBus.''
:''手把手指导如何用QtDBus调用D-Bus并连接到D-Bus信号。''
 
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|中级D-Bus编程]]
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|中级D-Bus编程]]
:''Tips to make use of QtDBus when faced with problematic real-world interfaces.''
:''利用QtBus的一些技巧,可以用来解决现实生活中的一些问题。''
 
; [[Development/Tutorials/D-Bus/Creating Interfaces|创建D-Bus接口]]
; [[Development/Tutorials/D-Bus/Creating Interfaces|创建D-Bus接口]]
:''Learn how to expose functionality in your application by creating and using custom D-Bus interfaces. Covers generating the XML descriptions, instantiating interfaces at run time and setting up the build system with CMake.''
:''如何创建和定制D-Bus的接口来增强你的应用程序。教程包含了产生XML描述,运行时实例化接口,用CMake建立联编系统。''
 
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus自动启动服务]]
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus自动启动服务]]
:''Turn your application into a D-Bus autostart service with this tutorial. This D-Bus feature, also known as "D-Bus service activation", will ensure that even when your application isn't running that D-Bus calls made to it will work by relying on the D-Bus daemon itself to start your app if and when needed.''
:''如何把你的程序改装为一个D-Bus自启动的服务。D-Bus的这个功能也被成为"D-Bus自启动服", 他将确保即便你没有启动你的程序,D-Bus后台程序也会在需要时把它起起来。''
; [[Development/Tutorials/Porting_to_D-Bus|Porting from DCOP to D-Bus]]
 
: ''Port your applications from DCOP to D-Bus with this handy guide.''
; [[Development/Tutorials/Porting_to_D-Bus|从DCOP移植到D-Bus]]
: ''从DCOP向D-BUS 移植指导手册。''


=== Konqueror ===
=== Konqueror ===
; [[Development/Tutorials/Creating Konqueror Service Menus|创建Konqueror服务菜单]]
; [[Development/Tutorials/Creating Konqueror Service Menus|创建Konqueror服务菜单]]
:''This tutorial shows you how to create mimetype-specific actions in Konqueror's context menu (aka "servicemenus").''
:''本教程将讲述如何在Konqueror's浮动菜单中创建特定mimetype的动作 (aka "servicemenus").''


=== Kross ===
=== Kross ===
; [[Development/Tutorials/Kross/Introduction|Kross介绍]]
; [[Development/Tutorials/Kross/Introduction|Kross介绍]]
:''An introduction to the Kross Scripting Framework.''
:''介绍Kross脚本框架.''
 
; [[Development/Tutorials/Kross/Hello_World|世界你好]]
:''Kross的第一段代码。''
 
; [[Development/Tutorials/Kross/Call_Functions_in_Kross|在Kross调用其它功能]]
:''简单演示如何调用脚本功能''
 
; [[Development/Tutorials/Kross/Connecting_Signals_and_slots_in_Kross|链接Kross中的信号和槽]]
:''简单演示如何把对象信号和脚本的槽相连。''


; [[Development/Tutorials/Kross/Scripts-as-Plugins|使用Kross脚本编写插件]]
; [[Development/Tutorials/Kross/Scripts-as-Plugins|使用Kross脚本编写插件]]
:''This tutorial provides a step-by-step introduction how to integrate scripts as plugins into a KDE application.''
:''本教程将手把手的讲述如何把脚本作为插件集成到KDE应用程序中。''
 
; [[Development/Tutorials/Kross/Scripts-as-KPlugins|以KPlugins方式加载Kross脚本]]
:''本教程将手把手的讲述如何以KPlugins方式加载Kross脚本。''
 
; [[Development/Tutorials/Kross/Script-Actions|为程序菜单添加脚本动作 ]]
:''简单演示如何在程序菜单中执行脚本。''


=== KOffice ===
=== KOffice Plugin Tutorials===
; [[Development/Tutorials/KOffice Overview|KOffice概览]]
; [[Development/Tutorials/KOffice Overview|KOffice概览]]
:''This document shows an overview of the different KOffice plugin types and tells you what each of their purpose and strengths are.'' If you are new with KOffice plugins, this is the place to start.
:''本文介绍不同KOffice的插件类型并且讲述了各自的用途和强项。'' 对KOffice插件的新手来说,这是个很好的切入点。


; [[Development/Tutorials/Write a Flake Plugin|创建KOffice Flake插件]]
; [[Development/Tutorials/Write a Flake Plugin|创建KOffice Flake插件]]
:''This tutorial shows you how you can build a plugin for KOffice applications to allow you embed content in ODF documents using Flake.''
:''讲述如何创建一个KOffice的插件,同时用Flake把你的内容嵌入到ODF文档里去。''


; [[Development/Tutorials/KWord Scripting|编写KWord脚本]]
; [[Development/Tutorials/KWord Scripting|编写KWord脚本]]
:''This tutorial shows how to script KWord with Python, Ruby or JavaScript using Kross.''
:''在KRoss框架内使用Python,Ruby或JavaScript为KWord写插件等。''


; [[Development/Tutorials/KSpread Scripting|编写KSpread脚本]]
; [[Development/Tutorials/KSpread Scripting|编写KSpread脚本]]
:''This tutorial shows how to script KSpread with Python, Ruby or JavaScript using Kross.''
:''在KRoss框架内使用Python,Ruby或JavaScript为KSpread写插件等。''


; [[Development/Tutorials/Krita Scripting|编写Krita脚本]]
; [[Development/Tutorials/Krita Scripting|编写Krita脚本]]
:''This tutorial shows how to script Krita with Python, Ruby or JavaScript using Kross.''
:''在KRoss框架内使用Python,Ruby或JavaScript为Krita写插件等。''


=== SuperKaramba ===
=== SuperKaramba ===
; [[Development/Tutorials/SuperKaramba|SuperKaramba教程]]
; [[Development/Tutorials/SuperKaramba|SuperKaramba教程]]
:''This tutorial provides an overview of SuperKaramba, theme files and scripting with Python, Ruby and JavaScript.''
:''全面介绍SuperKaramba,主题文件和Python, Ruby和JavaScript脚本.''
 
=== System Activity ===
 
: [[Development/Tutorials/SystemActivity/Scripting|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 ==
 
; [[Development/Tutorials/Writing kontact plugins|开发Kontact插件]]:
''Kontact 插件就是KParts. 此教程说明如何您可以开发一个。''
 
; [[Development/Tutorials/Using KParts|使用KParts]]:''如何在应用窗口中加载KPart。''


== 搜索与元数据 ==
== 搜索与元数据 ==
Line 144: Line 197:


; [[Development/Tutorials/Writing file analyzers|编写文件分析器]]
; [[Development/Tutorials/Writing file analyzers|编写文件分析器]]
:''File analyzers extract data from files to display in the file dialogs and file managers. The data gathered this way is also used to search for files. KDE4 allows the use of multiple analyzers per file type. This tutorial describes how you can write new analyzers.''
:''文件分析器从文件或对话框抽取信息。这样产生的数据也会被用于文件搜索。KDE4允许对一个文件使用多个分析器。本教程讲述如何编写一个新的分析器。''
 
=== [http://nepomuk.kde.org Nepomuk] ===
 
; [[Development/Tutorials/Metadata/Nepomuk/Quickstart|Nepomuk 快速入门]]
:''如何快速上手使用Nepomuk。''


=== Nepomuk ===
; [[Development/Tutorials/Metadata/Nepomuk/RDFIntroduction|Nepomuk中的RDF和本体]]
:''介绍RDF和本体在Nepomuk的应用。''


; [[Development/Tutorials/Metadata/KMetaData first steps|Nepomuk初步]]
; [[Development/Tutorials/Metadata/Nepomuk/Resources|用Nepomuk处理资源]]
:''Nepomuk is the KDE library which provides easy access to metadata in the [http://nepomuk-kde.semanticdesktop.org Nepomuk-KDE] system. Learn how to make your application create and read metadata using the Nepomuk system.''
:''Nepomuk是KDE的一套类库,用它可以方便的存取Nepomuk系统中的元数据。教授如何在程序中创建和读取Nepomuk系统中的元数据。''
 
; [[Development/Tutorials/Metadata/Nepomuk/ResourceGenerator|使用Nepomuk资源产生器]]
:''Nepomuk包括一个资源产生器,用于处理元数据 。''
 
; [[Development/Tutorials/Metadata/Nepomuk/AdvancedQueries|高级查询]]
:''Nepomuk的真正用途在于对数据源的查询结果的掌控。本教程介绍如何用Nepomuk进行语意查询和全文查询。''
 
; [[Development/Tutorials/Metadata/Nepomuk/NepomukServer|Nepomuk服务器和Nepomuk系统架构]]
:''Nepomuk服务器在有Nepomuk主要数据仓库并且可以通过Soprano API直接存取。''
 
; [[Development/Tutorials/Metadata/Nepomuk/NepomukServices|Nepomuk服务]]
:''Nepomuk服务器管理一系列Nepomuk服务。''
 
:* [[Development/Tutorials/Metadata/Nepomuk/StorageService|存储服务]] ''这也许是它最重要的服务了,采用[http://soprano.sourceforge.net Soprano]装载Nepomuk的数据仓库。''
 
:* [[Development/Tutorials/Metadata/Nepomuk/OntologyLoaderService|本体加载]] ''确保安装的本体信息如RDF, RDFS, NRL, 或Xesam都已加载到存储仓库里了。''
 
:* [[Development/Tutorials/Metadata/Nepomuk/FileWatchService|文件监视服务]] ''监视文件系统,一旦有变化,即时更新Nepomuk的文件资源路径和URI''
 
:* [[Development/Tutorials/Metadata/Nepomuk/StrigiService|Strigi服务]] ''控制Strigi,文件索引工具,它从文件中抽取元数据并把它存储到数据仓库中。''
 
:* [[Development/Tutorials/Metadata/Nepomuk/QueryService|查询服务]] ''提供持久查询文件夹。''
 
; [[Development/Tutorials/Metadata/Nepomuk/TipsAndTricks|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) ==


;[[Development/Tutorials/Solid_Tutorials|Solid介绍]]
;[[Development/Tutorials/Solid_Tutorials|Solid介绍]]
:''An introduction to using the Solid hardware discovery and interaction system in KDE applications.''
:''介绍使用Solid发现硬件以及如何与KDE程序交互。''


;[[Development/Tutorials/Solid_Network_Tutorial|访问网络信息]]
;[[Development/Tutorials/Solid_Network_Tutorial|访问网络信息]]
:''How to use the Solid system to get information about the network''
:''如何用Solid系统获取网络信息''
 
== 特权程序(PolicyKit) ==
; [[Development/Tutorials/PolicyKit/Introduction|Introduction to PolicyKit]]
:''简单介绍PolicyKit是什么,它是如何在程序需要超级用户权限或其它认证时起作用的。''
; [[Development/Tutorials/PolicyKit/Helper_HowTo|利用caller-helper模式以root用户权限操作]]
:''本教程讲述如何在程序中方便的以root用户执行一些操作(用户有相应授权)。PolicyKit和caller-helper的使用是由一定技巧的。''
; [[Development/Tutorials/PolicyKit/KCM_HowTo|在KCM模块中获取root权限]]
:''本教程讲述如何以root用户来创建一个可以保存设置的KCModules。''


== 多媒体(Phonon) ==
== 多媒体(Phonon) ==


;[[Development/Tutorials/Phonon/Introduction|Phonon]]
;[[Development/Tutorials/Phonon/Introduction|Phonon]]
:''How to start with the multimedia API''
:''如何使用多媒体的应用程序接口(API)''


== Plasma ==
== Plasma ==


;[[Development/Tutorials/Plasma/GettingStarted|Plasmoids入门]]
请见[[Development/Tutorials/Plasma_(zh_CN)|Plasma 教学]]
:''Creating your first plasmoid in C++ with SVG background, icon and text''


== 通讯 (Decibel) ==
;[[Development/Tutorials/Decibel/GettingStarted|Decibel入门]]
:''如何设置Decibel.''
;[[Development/Tutorials/Decibel/Handling_TextChannels|处理文字通道(TextChannels)]]
:''本教程通过如何编写一个简单的聊天程序介绍文字通道(TextChannels)的处理方法。''
== 个人信息管理(Akonadi) ==
;[[Development/Tutorials/Akonadi/Resources|开发Akonadi 资源]]
:''Akonadi Resources是一个代理程序,在Akonadi和后台程序间(文件,服务器,等)传送PIM数据。''


== Kate / Kwrite ==
== Kate / Kwrite ==


;[[Development/Tutorials/Kate/KTextEditor Plugins|KTextEditor插件入门]]
;[[Development/Tutorials/Kate/KTextEditor Plugins|KTextEditor插件入门]]
:''Creating your first plugin''
:''创建你第一个插件''
 
== KDevelop ==
 
;[[Development/KDevelop-PG-Qt_Introduction|KDevelop-PG-Qt Introduction]]
:''Information on the KDevelop parser generator, useful for language plugins.''


== 打印 ==
== 打印 ==


;[[Development/Tutorials/Printing Hello World|Hello World]]
;[[Development/Tutorials/Printing Hello World|世界你好]]
:''Introduction to the KDE printing system''
:''介绍KDE打印系统''


;TODO 打印对话框
;TODO 打印对话框
:''Using the KDE print dialog''
:''使用KDE打印对话框''
 
== kioslaves ==
* [[Development/Tutorials/KIO Slaves/Using KIO Slaves in your Program|应用 kioslaves]]
* [[Development/Tutorials/KIO Slaves/Hello World|kioslave简单例程]]


== 获取热点新材料 ==
== 获取热点新材料 ==
; [[Development/Tutorials/K_Hot_New_Stuff2|获取热点新材料 2]]
:''如何使用KHotNewStuff2。''
; [[Development/Tutorials/Introduction to Get Hot New Stuff|获取热点新材料入门]]
; [[Development/Tutorials/Introduction to Get Hot New Stuff|获取热点新材料入门]]
:''An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner.''
:''介绍一个对开发员友好的网络更新系统,KDE程序可以在运行时以一种友好的方式获取最新运行数据。''


;[[Development/Tutorials/KNewStuffSecure|KNewStuff安全项]] ([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html 原文链接])
;[[Development/Tutorials/KNewStuffSecure|KNewStuff安全项]] ([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html 原文链接])
:''Tutorial showing how to share resources in a secured way (KDE 3.4 and later).''  By András Mantia <[email protected]>.
:''如何以另一种方法使用资源(KDE 3.4 及更新).''  András Mantia <[email protected]>开发.
 
== Goya ==
; [[Development/Tutorials/Introduction to Goya usage|Goya使用简介]]
:''介绍Goya子系统应用, 让你轻易的为物品视图添加图形并把他们产生的时间链接到你得处理代码上,从而使它们成为真正的图形应用。''
 
; [[Development/Tutorials/Introduction to Goya usage 2|Goya的使用(第二部分)]]
:''教程第二部分,加了些复杂的例程。''


== 快速应用程序开发(RAD) ==
== 快速应用程序开发(RAD) ==


=== Python ===
=== Python ===
;[http://www.learningpython.com/2008/09/20/an-introduction-to-pyqt/ PyQt介绍]
:''初学者''
;[http://lateral.netmanagers.com.ar/stories/BBS47.html PyQt by Example]
:''介绍PyQt''
;[[Development/Languages/Python/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]]
:''PyKDE的浏览器''


;[[Development/Tutorials/Python introduction to signals and slots|101 signals 与slots介绍]]
;[[Development/Tutorials/Python introduction to signals and slots|101 signals 与slots介绍]]
:''A simple introduction to Qt's signal and slot architecture.''
:''对QT信号与槽架构的简单介绍''
 
;[[Development/Languages/Python/PyKDE_DBus_Tutorial|PyKDE DBus Tutorial]]
:''介绍如何使用PyKDE来链接D-BUS通讯。''


=== Ruby ===
=== Ruby ===


;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum教程]
;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum教程]
:''A ruby version of Antonio Larrosa Jiménez's KDE tutorial by Richard Dale. See the [http://developer.kde.org/language-bindings/ruby/index.html Ruby Developers Corner] for Qt tutorials and other info.''
:''Ruby版的Antonio Larrosa Jiménez's KDE教程,由Richard Dale开发。详见[[Development/Languages/Ruby (zh CN)|Ruby开发者]],内有Qt教程和其它信息。''


;[[Development/Tutorials/Qt4_Ruby_Tutorial|Qt4 Ruby教程]]
;[[Development/Tutorials/Qt4_Ruby_Tutorial_(zh_CN)|Qt4 Ruby教程]]
:''Trolltech's fabulous introductory tutorial to Qt, translated to Ruby.''
:''Nokia的Ruby Qt教程。''
 
;[[Development/Tutorials/Plasma/RubyApplet|用Ruby创建Plasma小程序]]
:''介绍如何利用Ruby创建Plasma小程序。''
 
;[[Development/Tutorials/Developing_Qt4_Applications_using_Qt_Designer_and_Ruby_on_Kubuntu|在 Kubuntu 使用Qt Designer 和 Ruby 开发 Qt4 应用程序]]
:''本教学从头开始展示如何使用 Qt Designer 设计一个简单的用户接口,然后把产生的 widget 使用在 Qt Ruby 应用程序。''
 
;[[Development/Languages/Ruby/Ruby-Qt/KDE_Book|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 ===
=== Shell ===


;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|使用KDE对话框进行脚本编程]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html 原文链接])  
;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|使用KDE对话框进行脚本编程]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html 原文链接])  
:''Tutorial by [mailto:[email protected] Brad Hards] that describes how to use KDE dialogs in shell scripts with kdialog. It is presented as an example based tutorial.''
:''[mailto:[email protected] Brad Hards]介绍如何在脚本中使用KDE对话框Kdialog。其中有实例和教程。''
 
== 图形编程 ==


== 其它教程 ==
;[[Development/Tutorials/Graphics/Performance|QPainter性能]]
:''对使用QPainter导致性能影响的一些常见错误进行介绍''


=== 使用KDE游戏库 ===
== 使用KDE游戏库 ==
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]
:''Using libkdegames to make your game fit the kdegames standard''
:''用libkdegames开发符合KDE游戏标准的游戏。''
;[[Development/Tutorials/Games/Highscores| Highscores]]
;[[Development/Tutorials/Games/Highscores| 排行榜]]
:''Implementing a simple highscore table into your game''
:''在程序中实现一个简单的排行榜''
;[[Development/Tutorials/Games/Theme Selector| 主题选择器]]
;[[Development/Tutorials/Games/Theme Selector| 主题选择器]]
:''Using the libkdegames theme selection dialog''
:''使用libkdegames主题选择对话框。''
;[[Development/Tutorials/Games/Palapeli Patterns| Palapeli模式]]
:''为Palapeli创建一种模式''
 
=== KGLEngine ===
;[[Development/Tutorials/Games/kglengine/kglengine-simpleBox| 安装和开发首个KGLItem]]
:''开始使用kglengine''
;[[Development/Tutorials/Games/kglengine/kglengine-motion| 物品移动]]
:''如何移动kglitem''
;[[Development/Tutorials/Games/kglengine/kglengine-collision| 冲突发现]]
:''如何发现冲突和交互。''
;[[Development/Tutorials/Games/kglengine/kglengine-texture| 材质和色彩]]
:''为你的创作添加材质和色彩。''
;[[Development/Tutorials/Games/kglengine/kglengine-effects| 颗粒和阴影效果]]
:''添加特效''
;[[Development/Tutorials/Games/KGLEngine2d| kglpong]]
:''创建一个pong''
 
=== KALEngine ===
;[[Development/Tutorials/Games/KALEngine| 播放声音]]
:''在KALEngine中用openAL开发游戏中的声响效果。''
 
;[[Development/Tutorials/Games/KALEngine-music| 播放音乐]]
:''利用KALEngine播放流音乐''
 
== 使用KDE PIM类库==
;[[Development/Tutorials/PIM/ical| iCalendar功能]]
:''利用kcal来操作iCalendar文件。''
 
 
== 其它教程 ==


=== 2D绘图(KPlotWidget) ===
=== 2D绘图(KPlotWidget) ===
;[[Development/Tutorials/KPlotWidget|使用KDE数据绘制widget]]
;[[Development/Tutorials/KPlotWidget|使用KDE数据绘制widget]]
:''This tutorial introduces KPlotWidget, which is used for 2-D data plotting.  It includes information on simple usage of the widget (including adding and modifying data sets, and customizing the plot axes and labels), and advanced customization (including extending the widget through sub-classing).''
:''本教程介绍了KPlotWidget, 它可以被用来开发二维数据打印。他介绍了一些简单应用(包括添加修改数据集,定制打印坐标和标签),以及一些高级定制化(包括如何通过扩展子类来扩展图形界面)''


=== 拼写与语法检查 ===
=== 拼写与语法检查 ===
;[[Development/Tutorials/Sonnet/SonnetTutorial|在KDE应用程序中添加拼写或语法检查]]
;[[Development/Tutorials/Sonnet/SonnetTutorial|在KDE应用程序中添加拼写或语法检查]]
:''This tutorial introduces Sonnet and how one may use it to add language correction to your KDE application. Sonnet's auxiliary features shall be described in a separate tutorial.''
:''本教程介绍了Sonnet,以及如何使用它来为你的KDE程序添加语言检查. Sonnet的辅助功能将在另外一个教程中介绍。''


=== 像素图缓存(KPixmapCache) ===
=== 像素图缓存(KPixmapCache) ===
;[[Development/Tutorials/KPixmapCache|使用KDE像素图缓存]]
;[[Development/Tutorials/KPixmapCache|使用KDE像素图缓存]]
:''This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data.''
:''本教程讲述如何用KPixmapCache来缓存从矢量数据(SVG)或其他数据源产生的点阵图。''
 
=== 使用MarbleWidget (Marble) ===
;[[Development/Tutorials/MarbleWidget|Using MarbleWidget]]
:''本教程告诉我们如何在我们的程序中使用Marble Widget。''
 
=== 用本地SCM开发KDE ===
;[[Development/Git|Using Git to develop for KDE]]
:''本教程告诉我们如何用GIT作KDE开发。''
 
=== 实现KSysGuard探测器并添加绑定 ===
;[[Development/Tutorials/Sensors]]
:''本教程讲述如何编写KSysGuard探测器并如何把它链接到SysTray。''
Runners
 
=== 将一个程序从 KSystemTrayIcon 转换到 KStatusNotifierItem ===
;[[Development/Tutorials/PortToKStatusNotifierItem]]
:''本教程展示了如何将一个使用KSystemTrayIcon的程序转换到使用KStatusNotifierItem''


== KDE2和KDE3相关材料 ==
== KDE2和KDE3相关材料 ==


;[[Development/Tutorials/KDE3|KDE3教程]]
;[[Development/Tutorials/KDE3|KDE3教程]]
:''These tutorials cover topics related to KDE3.''
:''KDE3 相关教程''


;[[Development/Tutorials/KDE2|KDE2教程]]
;[[Development/Tutorials/KDE2|KDE2教程]]
:''These tutorials cover topics related to KDE2.''
:''KDE2 相关教程''


[[Category:KDE4]]
[[Category:KDE4]]

Latest revision as of 12:32, 23 June 2013

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 相关教程