Tutorials are the fastest way of finding out what KDE will do for you, and how to do it. Here is a list of currently available tutorials '''for KDE4'''. Material for KDE3 and KDE2 is available on the bottom of this page.

Tutorials are the fastest way of finding out what KDE will do for you, and how to do it. Here is a list of currently available tutorials '''for KDE4'''. Material for KDE3 and KDE2 is available on the bottom of this page.

−

== Introduction To KDE 4 Programming ==

+

== Basics of KDE 4 Programming == <!--T:3-->

+

+

<!--T:4-->

Are you interested in writing applications with KDE 4? This tutorial series is aimed at those completely new to KDE programming.

Are you interested in writing applications with KDE 4? This tutorial series is aimed at those completely new to KDE programming.

−

;[[Development/Tutorials/First program|Hello World]]

+

</translate>

−

:''A preliminary introduction to the very basics of KDE4 programming''

If you want to improve an existing application, you can usually build and install it easily. This tutorial shows how to build an application in a way that doesn't interfere with your system. If you do not need to modify kdelibs this may be the easiest way to get started with development.

−

;[[Development/Tutorials/Using KXmlGuiWindow|Creating the Main Window]]

+

== Testing And Debugging == <!--T:35-->

−

:''This tutorial shows you the magic of an application's most important thing: The main window.''

Writing Unittests for Qt4 and KDE4 with QTestLib</translate>]] ([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html <translate><!--T:39-->

+

Original link</translate>])

+

:<translate><!--T:40-->

+

Tutorial by [mailto:bradh@frogmouth.net Brad Hards] that describes how to write unit tests using the QTestLib framework. It is presented as an example based tutorial, and is still under development.</translate>

An overview of the services framework in KDE and what it provides the application developer. Covers the system configuration cache (SyCoCa), the source data files and what the indexed information can be used for.</translate>

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.</translate>

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.</translate>

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.</translate>

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.</translate>

;[[Development/Tutorials/Unittests|Writing Unittests for Qt4 and KDE4 with QTestLib]] ([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html Original link])

+

−

:''Tutorial by [mailto:bradh@frogmouth.net Brad Hards] that describes how to write unit tests using the QTestLib framework. It is presented as an example based tutorial, and is still under development.''

:''Tutorial on how to write an update script to keep changes in your application's config file format in sync with the user's already existing config file''

+

−

+

−

== Services: Applications and Plugins ==

+

−

;[[Development/Tutorials/Services/Introduction|Introduction to the Services Framework]]

+

−

:''An overview of the services framework in KDE and what it provides the application developer. Covers the system configuration cache (SyCoCa), the source data files and what the indexed information can be used for.''

:''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.''

:''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.''

:''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.''

:''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.''

:''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.''

+

:<translate><!--T:90-->

−

; [[Development/Tutorials/D-Bus/CustomTypes|Using Custom Types with D-Bus]]: ''Learn how to use your own types in classes exported on D-Bus. Covers marhaling and unmarshaling of objects, the integration of custom types into XML descriptions and registering the custom types with the Qt Meta Object system.''

+

A step-by-step guide to calling D-Bus methods and connecting to D-Bus signals using QtDBus.</translate>

:''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.''

+

Intermediate D-Bus</translate>]]

−

; [[Development/Tutorials/Porting_to_D-Bus|Porting from DCOP to D-Bus]]

+

:<translate><!--T:92-->

−

: ''Port your applications from DCOP to D-Bus with this handy guide.''

+

Tips to make use of QtDBus when faced with problematic real-world interfaces.</translate>

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.</translate>

Learn how to use your own types in classes exported on D-Bus. Covers marhaling and unmarshaling of objects, the integration of custom types into XML descriptions and registering the custom types with the Qt Meta Object system.</translate>

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.</translate>

A kPart is a plugin that you can just load into your application. For example, it is easy to integrate an editor (the katePart) or a console (the konsolePart) into your application's window.</translate>

:''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.''

:<translate>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.

The ;[[Special:myLanguage/Development/Tutorials/Phonon/Introduction|Introduction to Phonon]] tells how to compile and run the code. If you like to work in Python, try [[Development/Tutorials/Phonon/Introduction/Python|this version]] of the same tutorial</translate>

How to start creating a new backend for the multimedia API</translate>

+

<translate><!--T:162-->

+

;Resources</translate>

+

<translate><!--T:163-->

+

:Please have a look at the [http://api.kde.org/kdesupport-api/kdesupport-apidocs/phonon-git/html/ online documentation] for information on the Phonon API. If you prefer using Qt Assistant or Qt Creator you can also use our [http://mts.ms/phonon-4.4.2.qch offline documentation].

−

;[[Development/Tutorials/Phonon/Introduction|Phonon]]

+

== Plasma == <!--T:164-->

−

:''How to start with the multimedia API''

+

</translate>

−

:''How to compile and use Phonon and its GStreamer backend on Linux using Qt 4.3.x''

+

See [[Special:myLanguage/Development/Tutorials/Plasma|<translate><!--T:165-->

−

::''This article gives you a quick brief of how you can use checkout, compile Phonon and its GStreamer backend on GNU/Linux with just Qt 4.3.x. Towards the end, the article also describes how a developer can make use of Phonon to create simple audio and video players. You can read the article [http://www.vcreatelogic.com/oss/docs/CompilingPhononOnLinux.pdf here]. You can download the editable OpenDocumentText file from [http://www.prashanthudupa.com/phonon/CompilingPhononOnLinux.odt here].''

:''Please have a look at the [http://api.kde.org/kdesupport-api/kdesupport-apidocs/phonon-git/html/ online documentation] for information on the Phonon API. If you prefer using Qt Assistant or Qt Creator you can also use our [http://mts.ms/phonon-4.4.2.qch offline documentation].''

:''There is also an approach to create an Ruby-Qt/KDE Book under a free license. The content will be created in this wiki.''

+

Using the KDE data-plotting widget</translate>]]

+

:<translate><!--T:264-->

+

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).

:''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).''

Revision as of 03:49, 23 December 2012

Tutorials are the fastest way of finding out what KDE will do for you, and how to do it. Here is a list of currently available tutorials for KDE4. Material for KDE3 and KDE2 is available on the bottom of this page.

If you want to improve an existing application, you can usually build and install it easily. This tutorial shows how to build an application in a way that doesn't interfere with your system. If you do not need to modify kdelibs this may be the easiest way to get started with development.

Services: Applications and Plugins

An overview of the services framework in KDE and what it provides the application developer. Covers the system configuration cache (SyCoCa), the source data files and what the indexed information can be used for.

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.

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.

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.

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.

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.

Learn how to use your own types in classes exported on D-Bus. Covers marhaling and unmarshaling of objects, the integration of custom types into XML descriptions and registering the custom types with the Qt Meta Object system.

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.

Search and Metadata

Strigi

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.

Using the KDE PIM Libraries

Other tutorials

2D Plotting (KPlotWidget)

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).