Archive:Development/Tutorials (zh CN): Difference between revisions
m (AnneW moved page Development/Tutorials (zh CN) to Archive:Development/Tutorials (zh CN) without leaving a redirect: Obsolete) |
|||
(38 intermediate revisions by 8 users not shown) | |||
Line 6: | Line 6: | ||
你是否对用KDE4写程序感兴趣呢?这个系列教程的目的是让那些对KDE编程没有任何概念的新手能够入门。 | 你是否对用KDE4写程序感兴趣呢?这个系列教程的目的是让那些对KDE编程没有任何概念的新手能够入门。 | ||
;[[Development/Tutorials/First program| | ;[[Development/Tutorials/First program (zh_CN)|世界你好]] | ||
:''本教程介绍了KDE4编程的最基本的知识'' | :''本教程介绍了KDE4编程的最基本的知识'' | ||
;[[Development/Tutorials/Using KXmlGuiWindow|创建主窗口]] | ;[[Development/Tutorials/Using KXmlGuiWindow (zh_CN)|创建主窗口]] | ||
:''本教程将向你展示关于应用程序最重要的部分──主窗口──的魔术。'' | :''本教程将向你展示关于应用程序最重要的部分──主窗口──的魔术。'' | ||
;[[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/ | ;[[Development/Tutorials/CMake_(zh_CN)|CMake介绍]] | ||
:''介绍如何使用KDE4的构建系统CMake。'' | :''介绍如何使用KDE4的构建系统CMake。'' | ||
Line 28: | Line 35: | ||
:''如何使用designer创建UI文件,以及如何将它们集成到KDE程序中。'' | :''如何使用designer创建UI文件,以及如何将它们集成到KDE程序中。'' | ||
;[[Development/Tutorials/ | ;[[Development/Tutorials/Creating Libraries_(zh_CN)|把代码加到库中]] | ||
:'' | :''如何把类库加到联编系统以及如何准备源代码。'' | ||
;[[Development/Tutorials/Session_Management_(zh_CN)|会话管理]] | |||
:''让程序了解X会话'' | |||
== 测试与调试 == | == 测试与调试 == | ||
;[[Development/Tutorials/ | ;[[Development/Tutorials/Debugging_(zh_CN)|调试你的应用程序]] | ||
:''介绍在你调试KDE应用程序时可以采用的工具、技术和技巧。'' | :''介绍在你调试KDE应用程序时可以采用的工具、技术和技巧。'' | ||
Line 54: | Line 65: | ||
== 服务:应用程序和插件 == | == 服务:应用程序和插件 == | ||
;[[Development/Tutorials/Services/Introduction|服务框架介绍]] | ;[[Development/Tutorials/Services/Introduction|服务框架介绍]] | ||
:'' | :''关于KDE中的服务框架,以及它们向开发人员提供了哪些功能的概述。覆盖了对系统配置文件缓存(SyCoCa)、源数据文件以及用索引信息可以做哪些事情的介绍'' | ||
;[[Development/Tutorials/Services/Traders| | ;[[Development/Tutorials/Services/Traders|使用Trader查询来查找服务]] | ||
:'' | :''如何使用Trader查询语法来查找那些在SyCoCa中被索引了的服务,如插件或者mime类型等'' | ||
;[[Development/Tutorials/Services/Plugins|使用KService创建和载入模块]] | ;[[Development/Tutorials/Services/Plugins|使用KService创建和载入模块]] | ||
:'' | :''学习如何使用KService,以一种方便且易于扩展方式来完成诸如定义自定义插件类型、查找已安装的插件(包括第三方插件)、以及载入插件等任务。'' | ||
== 本地化 == | == 本地化 == | ||
见 [[Localization|本地化入口]]. | |||
;[[Development/Tutorials/Localization/Unicode|Unicode介绍]] | ;[[Development/Tutorials/Localization/Unicode|Unicode介绍]] | ||
:'' | :''对Unicode和如何在KDE应用程序中处理Unicode的一个简要说明。'' | ||
; [[Development/Tutorials/Localization/i18n| | ; [[Development/Tutorials/Localization/i18n|编写考虑到本地化需要的应用程序]] | ||
:'' | :''这篇教程内容涵盖了什么是本地化、为什么本地化很重要和如何确定您的应用程序已经为本地化做好准备。这是一份所有应用程序开发者的必读说明。'' | ||
; [[Development/Tutorials/Localization/i18n Mistakes|避免常见的本地化陷阱]] | ; [[Development/Tutorials/Localization/i18n Mistakes|避免常见的本地化陷阱]] | ||
:'' | :''通常有许多普遍易犯的错误阻碍应用程序被正确地本地化。这篇教程阐述了什么是错误的方式,并告诉您如何简单地避免这些错误。'' | ||
; [[Development/Tutorials/Localization/Building KDE's l10n Module|构建KDE本地化模块]] | ; [[Development/Tutorials/Localization/Building KDE's l10n Module|构建KDE本地化模块]] | ||
:'' | :''对那些开发KDE主应用库的人来说,联编和安装支持KDE的本地化的语言( l10n )模块是一个好主意。这样做可以让您测试您的应用程序在另一种语言并且迅速发现什么地方出问题了。本教程告诉我们如何做到这一点。 | ||
'' | |||
; [[Development/Tutorials/Localization/i18n Build Systems|将i18n合并到构建系统中]] | ; [[Development/Tutorials/Localization/i18n Build Systems|将i18n合并到构建系统中]] | ||
:'' | :''一旦您已准备好进行本地化工作,下一步是确保翻译文件是自动创建并且是不断更新的。本教程涵盖了必要CMakeFiles.txt流程 以及您的应用程序中所产生的信息在发布时的流程。 | ||
'' | |||
; [[Development/Tutorials/Localization/i18n Challenges|常见的i18n挑战和解决方案]] | ; [[Development/Tutorials/Localization/i18n Challenges|常见的i18n挑战和解决方案]] | ||
:'' | :''本教程涵盖你所可能遇到的各种挑战,诸如陷入如翻译手册时存在源代码以外的资料,合并和处理独立PO文件,处理冻结的文件,处理英语以外的语言和创建独立发布版本或者在KDE模块间转移一些应用。 | ||
'' | |||
; [[Development/Tutorials/Localization/i18n_Semantics|消息的语义标记]] | ; [[Development/Tutorials/Localization/i18n_Semantics|消息的语义标记]] | ||
:'' | :''为了应用程序中保证一贯的表述,并使得消息更有意义,用于标示语义标记翻译可使用KUIT系统。此教程说明本系统如何工作的。 | ||
'' | |||
; [[Development/Tutorials/Localization/i18n Krazy|自动化i18n代码检查]] | ; [[Development/Tutorials/Localization/i18n Krazy|自动化i18n代码检查]] | ||
:'' | :''Krazy代码检查器扫描KDE的代码并报告常见的i18n错误。'' | ||
== 文档 == | == 文档 == | ||
;[[Development/Tutorials/API_Documentation|API文档]] | ;[[Development/Tutorials/API_Documentation|API文档]] | ||
:'' | :''本教程告诉我们如何正确对应用程序接口(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介绍]] | ||
:'' | :''从一个程序开发员的角度对D-Bus作一个单刀直入的介绍,教程里讲述了D-Bus是什么以及如何人在应用程序中使用。'' | ||
; [[Development/Tutorials/D-Bus/Accessing Interfaces|访问D-Bus接口]] | ; [[Development/Tutorials/D-Bus/Accessing Interfaces|访问D-Bus接口]] | ||
:'' | :''手把手指导如何用QtDBus调用D-Bus并连接到D-Bus信号。'' | ||
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|中级D-Bus编程]] | ; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|中级D-Bus编程]] | ||
:'' | :''利用QtBus的一些技巧,可以用来解决现实生活中的一些问题。'' | ||
; [[Development/Tutorials/D-Bus/Creating Interfaces|创建D-Bus接口]] | ; [[Development/Tutorials/D-Bus/Creating Interfaces|创建D-Bus接口]] | ||
:'' | :''如何创建和定制D-Bus的接口来增强你的应用程序。教程包含了产生XML描述,运行时实例化接口,用CMake建立联编系统。'' | ||
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus自动启动服务]] | ; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus自动启动服务]] | ||
:'' | :''如何把你的程序改装为一个D-Bus自启动的服务。D-Bus的这个功能也被成为"D-Bus自启动服", 他将确保即便你没有启动你的程序,D-Bus后台程序也会在需要时把它起起来。'' | ||
; [[Development/Tutorials/Porting_to_D-Bus| | |||
: '' | ; [[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服务菜单]] | ||
:'' | :''本教程将讲述如何在Konqueror's浮动菜单中创建特定mimetype的动作 (aka "servicemenus").'' | ||
=== Kross === | === Kross === | ||
; [[Development/Tutorials/Kross/Introduction|Kross介绍]] | ; [[Development/Tutorials/Kross/Introduction|Kross介绍]] | ||
:'' | :''介绍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脚本编写插件]] | ||
:'' | :''本教程将手把手的讲述如何把脚本作为插件集成到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概览]] | ||
:'' | :''本文介绍不同KOffice的插件类型并且讲述了各自的用途和强项。'' 对KOffice插件的新手来说,这是个很好的切入点。 | ||
; [[Development/Tutorials/Write a Flake Plugin|创建KOffice Flake插件]] | ; [[Development/Tutorials/Write a Flake Plugin|创建KOffice Flake插件]] | ||
:'' | :''讲述如何创建一个KOffice的插件,同时用Flake把你的内容嵌入到ODF文档里去。'' | ||
; [[Development/Tutorials/KWord Scripting|编写KWord脚本]] | ; [[Development/Tutorials/KWord Scripting|编写KWord脚本]] | ||
:'' | :''在KRoss框架内使用Python,Ruby或JavaScript为KWord写插件等。'' | ||
; [[Development/Tutorials/KSpread Scripting|编写KSpread脚本]] | ; [[Development/Tutorials/KSpread Scripting|编写KSpread脚本]] | ||
:'' | :''在KRoss框架内使用Python,Ruby或JavaScript为KSpread写插件等。'' | ||
; [[Development/Tutorials/Krita Scripting|编写Krita脚本]] | ; [[Development/Tutorials/Krita Scripting|编写Krita脚本]] | ||
:'' | :''在KRoss框架内使用Python,Ruby或JavaScript为Krita写插件等。'' | ||
=== SuperKaramba === | === SuperKaramba === | ||
; [[Development/Tutorials/SuperKaramba|SuperKaramba教程]] | ; [[Development/Tutorials/SuperKaramba|SuperKaramba教程]] | ||
:''This tutorial | :''全面介绍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|编写文件分析器]] | ||
:'' | :''文件分析器从文件或对话框抽取信息。这样产生的数据也会被用于文件搜索。KDE4允许对一个文件使用多个分析器。本教程讲述如何编写一个新的分析器。'' | ||
=== [http://nepomuk.kde.org Nepomuk] === | |||
; [[Development/Tutorials/Metadata/Nepomuk/Quickstart|Nepomuk 快速入门]] | |||
:''如何快速上手使用Nepomuk。'' | |||
; [[Development/Tutorials/Metadata/Nepomuk/RDFIntroduction|Nepomuk中的RDF和本体]] | |||
:''介绍RDF和本体在Nepomuk的应用。'' | |||
; [[Development/Tutorials/Metadata/ | ; [[Development/Tutorials/Metadata/Nepomuk/Resources|用Nepomuk处理资源]] | ||
:''Nepomuk | :''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介绍]] | ||
:'' | :''介绍使用Solid发现硬件以及如何与KDE程序交互。'' | ||
;[[Development/Tutorials/Solid_Network_Tutorial|访问网络信息]] | ;[[Development/Tutorials/Solid_Network_Tutorial|访问网络信息]] | ||
:'' | :''如何用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]] | ||
:'' | :''如何使用多媒体的应用程序接口(API)'' | ||
== Plasma == | == Plasma == | ||
请见[[Development/Tutorials/Plasma_(zh_CN)|Plasma 教学]] | |||
== 通讯 (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/ | ;[[Development/Tutorials/Kate/KTextEditor Plugins|KTextEditor插件入门]] | ||
:'' | :''创建你第一个插件'' | ||
== 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| | ;[[Development/Tutorials/Printing Hello World|世界你好]] | ||
:'' | :''介绍KDE打印系统'' | ||
;TODO 打印对话框 | ;TODO 打印对话框 | ||
:'' | :''使用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|获取热点新材料入门]] | ||
:'' | :''介绍一个对开发员友好的网络更新系统,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 原文链接]) | ||
:'' | :''如何以另一种方法使用资源(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介绍]] | ||
:'' | :''对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教程] | ||
:'' | :''Ruby版的Antonio Larrosa Jiménez's KDE教程,由Richard Dale开发。详见[[Development/Languages/Ruby (zh CN)|Ruby开发者]],内有Qt教程和其它信息。'' | ||
;[[Development/Tutorials/ | ;[[Development/Tutorials/Qt4_Ruby_Tutorial_(zh_CN)|Qt4 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 原文链接]) | ||
:'' | :''[mailto:[email protected] Brad Hards]介绍如何在脚本中使用KDE对话框Kdialog。其中有实例和教程。'' | ||
== 图形编程 == | |||
;[[Development/Tutorials/Graphics/Performance|QPainter性能]] | |||
:''对使用QPainter导致性能影响的一些常见错误进行介绍'' | |||
== 使用KDE游戏库 == | |||
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]] | ;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]] | ||
:'' | :''用libkdegames开发符合KDE游戏标准的游戏。'' | ||
;[[Development/Tutorials/Games/Highscores| | ;[[Development/Tutorials/Games/Highscores| 排行榜]] | ||
:'' | :''在程序中实现一个简单的排行榜'' | ||
;[[Development/Tutorials/Games/Theme Selector| 主题选择器]] | ;[[Development/Tutorials/Games/Theme Selector| 主题选择器]] | ||
:'' | :''使用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]] | ||
:'' | :''本教程介绍了KPlotWidget, 它可以被用来开发二维数据打印。他介绍了一些简单应用(包括添加修改数据集,定制打印坐标和标签),以及一些高级定制化(包括如何通过扩展子类来扩展图形界面)。'' | ||
=== 拼写与语法检查 === | === 拼写与语法检查 === | ||
;[[Development/Tutorials/Sonnet/SonnetTutorial|在KDE应用程序中添加拼写或语法检查]] | ;[[Development/Tutorials/Sonnet/SonnetTutorial|在KDE应用程序中添加拼写或语法检查]] | ||
:'' | :''本教程介绍了Sonnet,以及如何使用它来为你的KDE程序添加语言检查. Sonnet的辅助功能将在另外一个教程中介绍。'' | ||
=== 像素图缓存(KPixmapCache) === | === 像素图缓存(KPixmapCache) === | ||
;[[Development/Tutorials/KPixmapCache|使用KDE像素图缓存]] | ;[[Development/Tutorials/KPixmapCache|使用KDE像素图缓存]] | ||
:'' | :''本教程讲述如何用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教程]] | ||
:'' | :''KDE3 相关教程'' | ||
;[[Development/Tutorials/KDE2|KDE2教程]] | ;[[Development/Tutorials/KDE2|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 插件就是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服务。
- 本体加载 确保安装的本体信息如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
通讯 (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 相关教程