ChristianW (Talk | contribs) (Marked this version for translation) |
|||
(43 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
− | |||
+ | <translate> | ||
<!--T:2--> | <!--T:2--> | ||
− | 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'''. | + | 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'''. Older KDE versions are discussed at the bottom of this page. |
− | == Basics of KDE | + | == Basics of how to program with the KDE Frameworks == <!--T:3--> |
<!--T:4--> | <!--T:4--> | ||
− | Are you interested in writing applications with KDE | + | Are you interested in writing applications with the KDE Frameworks? This tutorial series is aimed at those completely new to it. |
</translate> | </translate> | ||
;[[Special:myLanguage/Development/Tutorials/First program|<translate><!--T:5--> | ;[[Special:myLanguage/Development/Tutorials/First program|<translate><!--T:5--> | ||
Hello World</translate>]] | Hello World</translate>]] | ||
:<translate><!--T:6--> | :<translate><!--T:6--> | ||
− | An introduction to the very basics of | + | An introduction to the very basics of KDE Frameworks programming</translate> |
;[[Special:myLanguage/Development/Tutorials/Using KXmlGuiWindow|<translate><!--T:7--> | ;[[Special:myLanguage/Development/Tutorials/Using KXmlGuiWindow|<translate><!--T:7--> | ||
Creating the Main Window</translate>]] | Creating the Main Window</translate>]] | ||
:<translate><!--T:8--> | :<translate><!--T:8--> | ||
This tutorial shows you the magic of an application's most important thing: The main window.</translate> | This tutorial shows you the magic of an application's most important thing: The main window.</translate> | ||
− | ;[[Special:myLanguage/Development/Tutorials/Using | + | ;[[Special:myLanguage/Development/Tutorials/Using Actions|<translate><!--T:9--> |
− | Using | + | Using Actions</translate>]] |
:<translate><!--T:10--> | :<translate><!--T:10--> | ||
How to add actions to the menus and toolbars. Based on the MainWindow tutorial.</translate> | How to add actions to the menus and toolbars. Based on the MainWindow tutorial.</translate> | ||
− | |||
− | |||
− | |||
− | |||
;[[Special:myLanguage/Development/Tutorials/Saving and loading|<translate><!--T:13--> | ;[[Special:myLanguage/Development/Tutorials/Saving and loading|<translate><!--T:13--> | ||
Saving and Loading</translate>]] | Saving and Loading</translate>]] | ||
:<translate><!--T:14--> | :<translate><!--T:14--> | ||
Introduces the KIO library while adding loading and saving support to our application.</translate> | Introduces the KIO library while adding loading and saving support to our application.</translate> | ||
− | + | ||
− | + | ;[[Special:myLanguage/Development/Tutorials/CommandLineArguments|<translate><!--T:17--> | |
− | + | ||
− | + | ||
− | ;[[Special:myLanguage/Development/Tutorials/ | + | |
Command line arguments</translate>]] | Command line arguments</translate>]] | ||
:<translate><!--T:18--> | :<translate><!--T:18--> | ||
Adds the ability to specify which file to open from the command line to our text editor.</translate> | Adds the ability to specify which file to open from the command line to our text editor.</translate> | ||
− | |||
− | |||
− | |||
− | |||
;[[Special:myLanguage/Development/Tutorials/Common Programming Mistakes|<translate><!--T:21--> | ;[[Special:myLanguage/Development/Tutorials/Common Programming Mistakes|<translate><!--T:21--> | ||
Common Programming Mistakes</translate>]] | Common Programming Mistakes</translate>]] | ||
:<translate><!--T:22--> | :<translate><!--T:22--> | ||
Various common mistakes made while developing Qt and KDE applications and how to avoid them.</translate> | Various common mistakes made while developing Qt and KDE applications and how to avoid them.</translate> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
;[[Special:myLanguage/Development/Tutorials/Session_Management|<translate><!--T:29--> | ;[[Special:myLanguage/Development/Tutorials/Session_Management|<translate><!--T:29--> | ||
Session Management</translate>]] | Session Management</translate>]] | ||
Line 71: | Line 48: | ||
:<translate><!--T:34--> | :<translate><!--T:34--> | ||
Let your application show up in the K menu and in application menus. Based on the Icons Tutorial. | Let your application show up in the K menu and in application menus. Based on the Icons Tutorial. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Managing Configuration Data With KConfig == <!--T:43--> | == Managing Configuration Data With KConfig == <!--T:43--> | ||
Line 107: | Line 65: | ||
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 | 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 == <!--T:50-- | + | == Services : Applications and Plugins == <!--T:50--> |
− | + | ||
+ | </translate> | ||
;[[Special:myLanguage/Development/Tutorials/Services/Introduction|<translate><!--T:51--> | ;[[Special:myLanguage/Development/Tutorials/Services/Introduction|<translate><!--T:51--> | ||
Introduction to the Services Framework</translate>]] | Introduction to the Services Framework</translate>]] | ||
Line 119: | Line 77: | ||
How to find services, such as plugins or mimetypes, that are indexed in the SyCoCa using Trader Query Syntax</translate> | How to find services, such as plugins or mimetypes, that are indexed in the SyCoCa using Trader Query Syntax</translate> | ||
;[[Special:myLanguage/Development/Tutorials/Services/Plugins|<translate><!--T:54--> | ;[[Special:myLanguage/Development/Tutorials/Services/Plugins|<translate><!--T:54--> | ||
− | Creating and Loading Plugins Using KService]] | + | Creating and Loading Plugins Using KService</translate>]] |
− | :Learn how to define custom plugin types, find installed plugins (including 3rd party plugins) and load them in an easy and portable fashion using KService. | + | :<translate><!--T:312--> |
+ | Learn how to define custom plugin types, find installed plugins (including 3rd party plugins) and load them in an easy and portable fashion using KService. | ||
== Localization == <!--T:55--> | == Localization == <!--T:55--> | ||
Line 128: | Line 87: | ||
</translate> | </translate> | ||
;[[Development/Tutorials/Localization/Unicode|<translate><!--T:57--> | ;[[Development/Tutorials/Localization/Unicode|<translate><!--T:57--> | ||
− | Introduction To Unicode]] | + | Introduction To Unicode</translate>]] |
− | :An introduction to what Unicode is as well as how to handle Unicode data in KDE applications.</translate> | + | :<translate><!--T:311--> |
+ | An introduction to what Unicode is as well as how to handle Unicode data in KDE applications.</translate> | ||
; [[Special:myLanguage/Development/Tutorials/Localization/i18n|<translate><!--T:58--> | ; [[Special:myLanguage/Development/Tutorials/Localization/i18n|<translate><!--T:58--> | ||
Writing Applications With Localization In Mind</translate>]] | Writing Applications With Localization In Mind</translate>]] | ||
Line 158: | Line 118: | ||
:<translate><!--T:71--> | :<translate><!--T:71--> | ||
The Krazy code checker scans KDE's code and reports common i18n mistakes. | The Krazy code checker scans KDE's code and reports common i18n mistakes. | ||
+ | ; [[Special:myLanguage/Development/Tutorials/Localization/Language_Change|Dealing with Language Changes]] | ||
+ | :This tutorial covers dealing with changing languages: How to add the function to change the language and then dynamically update the user interface when language has been changed. | ||
+ | ; [[Special:myLanguage/Development/Tutorials/Localization/Message_Appearance|Understanding How Messages Appear to Translators]] | ||
+ | :An introduction to what context information is extracted (and what isn't) from source code for translators to see. | ||
− | |||
</translate> | </translate> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Accessibility == | == Accessibility == | ||
Line 263: | Line 214: | ||
:<translate><!--T:117--> | :<translate><!--T:117--> | ||
A small Tutorial on How to use Kross::ActionCollections. | A small Tutorial on How to use Kross::ActionCollections. | ||
− | {{: | + | {{:Projects/Calligra/Plugin Tutorials}} |
− | + | ||
− | + | ||
</translate> | </translate> | ||
− | + | <translate> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== System Activity === <!--T:121--> | === System Activity === <!--T:121--> | ||
</translate> | </translate> | ||
Line 310: | Line 255: | ||
; [[Special:myLanguage/Development/Tutorials/KCM_HowTo|KCM HowTo]] | ; [[Special:myLanguage/Development/Tutorials/KCM_HowTo|KCM HowTo]] | ||
:KCM are plugins which are loaded by System Settings to display configuration elements. They can also be used within an application. | :KCM are plugins which are loaded by System Settings to display configuration elements. They can also be used within an application. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Hardware Awareness (Solid) == <!--T:139--> | == Hardware Awareness (Solid) == <!--T:139--> | ||
Line 370: | Line 302: | ||
Phonon</translate>]] | Phonon</translate>]] | ||
:<translate><!--T:159--> | :<translate><!--T:159--> | ||
− | + | [[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> | |
;[[Special:myLanguage/Development/Tutorials/Phonon/Backends|<translate><!--T:160--> | ;[[Special:myLanguage/Development/Tutorials/Phonon/Backends|<translate><!--T:160--> | ||
Writing Backends</translate>]] | Writing Backends</translate>]] | ||
Line 378: | Line 310: | ||
;Resources</translate> | ;Resources</translate> | ||
<translate><!--T:163--> | <translate><!--T:163--> | ||
− | :Please have a look at the [http://api.kde.org/kdesupport-api/ | + | :Please have a look at the [http://api.kde.org/kdesupport-api/phonon-apidocs/phonon/html/ online documentation] for information on the Phonon API. If you prefer using Qt Assistant or Qt Creator you can also use our [http://api.kde.org/qch/phonon-kdesupport.qch offline documentation]. |
== Plasma == <!--T:164--> | == Plasma == <!--T:164--> | ||
</translate> | </translate> | ||
− | See [[Special:myLanguage/Development/Tutorials/Plasma|<translate><!--T: | + | <translate><!--T:306--> |
− | + | See [[Special:myLanguage/Development/Tutorials/Plasma|Plasma tutorials]].</translate> | |
+ | |||
+ | <translate> | ||
+ | == Plasma 5== <!--T:307--> | ||
+ | </translate> | ||
+ | |||
+ | <translate><!--T:308--> | ||
+ | See [[Special:myLanguage/Development/Tutorials/Plasma5|Plasma tutorials]].</translate> | ||
<translate> | <translate> | ||
Line 407: | Line 346: | ||
Applications using KDE's now deprecated KResource APIs, e.g. KABC or KCal, need to be ported to use their Akonadi equivalents | Applications using KDE's now deprecated KResource APIs, e.g. KABC or KCal, need to be ported to use their Akonadi equivalents | ||
− | == Kate / | + | == Kate / KWrite == <!--T:175--> |
</translate> | </translate> | ||
Line 426: | Line 365: | ||
</translate> | </translate> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
;[[Special:myLanguage/Development/Tutorials/KDevelop/Creating_a_class_template|<translate> | ;[[Special:myLanguage/Development/Tutorials/KDevelop/Creating_a_class_template|<translate> | ||
+ | <!--T:302--> | ||
Creating a class template</translate>]] | Creating a class template</translate>]] | ||
:<translate> | :<translate> | ||
+ | <!--T:303--> | ||
Instructions for creating a class template, which can be used to quickly generate classes from KDevelop. | Instructions for creating a class template, which can be used to quickly generate classes from KDevelop. | ||
</translate> | </translate> | ||
;[[Special:myLanguage/Development/Tutorials/KDevelop/Creating_a_project_template|<translate> | ;[[Special:myLanguage/Development/Tutorials/KDevelop/Creating_a_project_template|<translate> | ||
+ | <!--T:304--> | ||
Creating a project template</translate>]] | Creating a project template</translate>]] | ||
:<translate> | :<translate> | ||
+ | <!--T:305--> | ||
Instructions for creating a project template, which can be used for starting new project with KDevelop. | Instructions for creating a project template, which can be used for starting new project with KDevelop. | ||
+ | </translate> | ||
+ | ;[[Special:myLanguage/Development/KDevelop-PG-Qt_Introduction|<translate><!--T:183--> | ||
+ | KDevelop-PG-Qt Introduction</translate>]] | ||
+ | :<translate> | ||
+ | <!--T:310--> | ||
+ | Information on the KDevelop parser generator, useful for language plugins. | ||
+ | </translate> | ||
+ | :<translate> | ||
==Printing== <!--T:185--> | ==Printing== <!--T:185--> | ||
Line 600: | Line 546: | ||
:<translate><!--T:254--> | :<translate><!--T:254--> | ||
Creating a slicer plugin for Palapeli | Creating a slicer plugin for Palapeli | ||
− | |||
− | |||
</translate> | </translate> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Using the KDE PIM Libraries == | == Using the KDE PIM Libraries == | ||
Line 627: | Line 563: | ||
Using the KDE data-plotting widget</translate>]] | Using the KDE data-plotting widget</translate>]] | ||
:<translate><!--T:264--> | :<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).</translate> |
+ | |||
+ | ;[[Special:myLanguage/Development/Tutorials/Physical_Simulation|<translate><!--T:11--> | ||
+ | Physical Simulation</translate>]] | ||
+ | :<translate><!--T:12--> | ||
+ | How to perform a physical simulation: animation and diagram | ||
=== Spelling and Grammar Checking (Sonnet) === <!--T:265--> | === Spelling and Grammar Checking (Sonnet) === <!--T:265--> | ||
Line 637: | Line 578: | ||
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. | 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. | ||
− | === Pixmap cache (KPixmapCache) === <!--T: | + | === Pixmap cache (KPixmapCache) === <!--T:309--> |
</translate> | </translate> | ||
;[[Special:myLanguage/Development/Tutorials/KPixmapCache|<translate><!--T:269--> | ;[[Special:myLanguage/Development/Tutorials/KPixmapCache|<translate><!--T:269--> | ||
Using the KDE pixmap cache</translate>]] | Using the KDE pixmap cache</translate>]] | ||
− | :<translate | + | :<translate> |
This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data. | This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Porting an application from KSystemTrayIcon to KStatusNotifierItem === <!--T:282--> | === Porting an application from KSystemTrayIcon to KStatusNotifierItem === <!--T:282--> | ||
</translate> | </translate> | ||
Line 701: | Line 610: | ||
== KDE2 and KDE3 Materials == <!--T:291--> | == KDE2 and KDE3 Materials == <!--T:291--> | ||
</translate> | </translate> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
;[[Special:myLanguage/Development/Tutorials/KDE3|<translate><!--T:295--> | ;[[Special:myLanguage/Development/Tutorials/KDE3|<translate><!--T:295--> | ||
KDE3 Tutorials</translate>]] | KDE3 Tutorials</translate>]] |
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. Older KDE versions are discussed at the bottom of this page.
Are you interested in writing applications with the KDE Frameworks? This tutorial series is aimed at those completely new to it.
See also Localization portal.
See Plasma tutorials.
See Plasma tutorials.
KDE mostly uses the Qt Printing infrastructure.
Old links for KNS2 and KNS1 content: