Development/Tutorials/Programming Tutorial KDE 4: Difference between revisions
(→Your lessons: Some of these were _KDE3_ based and on or two others are/will be covered be my tutorials) |
(Move the "Your lessons" section nearer the top) |
||
Line 4: | Line 4: | ||
===Basics=== | ===Basics=== | ||
KDE heavily depends on Qt. Many KDE classes inherit from Qt classes. KDE 4 is based on Qt 4, KDE 3 is based on Qt 3. When this tutorial introduces a new Qt class, you're also learning KDE programming. | KDE heavily depends on Qt. Many KDE classes inherit from Qt classes. KDE 4 is based on Qt 4, KDE 3 is based on Qt 3. When this tutorial introduces a new Qt class, you're also learning KDE programming. | ||
===Getting Help | |||
==Your lessons== | |||
* [[/First program|Tutorial 1]] - Hello World | |||
* [[/Using_KMainWindow|Tutorial 2]] - Using KMainWindow | |||
* [[/Using_KActions|Tutorial 3]] - Using KActions | |||
* [[/Using_KConfig|Tutorial 4]] - Using KConfig XT to store and retrieve settigns | |||
* [[/How to write an XML parser|How to write an XML parser]] | |||
* [[/How to use CMake build system|How to use CMake build system]] | |||
* [[/Drag-and-drop|Drag-and-drop]] | |||
* [[/command-line-options|Command line options]] | |||
* [[/printing|Printing]] | |||
* [[/How to write Kontact plugins|How to write Kontact plugins]] | |||
* [[/Exceptions|How to work with Exceptions]] | |||
==Getting Help== | |||
===Finding documentation=== | |||
Whenever you have a KDE class and want the API documentation for it (KApplication, for example), point a konqueror window to | Whenever you have a KDE class and want the API documentation for it (KApplication, for example), point a konqueror window to | ||
Line 18: | Line 32: | ||
This can be done in addition to browsing the Qt documentation locally, or using Qt Assistant. | This can be done in addition to browsing the Qt documentation locally, or using Qt Assistant. | ||
===Finding other developers=== | |||
====Mailing lists==== | |||
There are two main development mailing lists: | There are two main development mailing lists: | ||
*The [http://mail.kde.org/mailman/listinfo/kde-devel kde-devel mailing list] for general development issues | *The [http://mail.kde.org/mailman/listinfo/kde-devel kde-devel mailing list] for general development issues | ||
Line 26: | Line 40: | ||
Many other mailing lists for certain applications also existing. Before posting a question, it's always best to make sure you direct it to the right list. Emailing your question to the right list can help you get an answer faster. You can get an overview of the various available mailing lists at http://www.kde.org/mailinglists | Many other mailing lists for certain applications also existing. Before posting a question, it's always best to make sure you direct it to the right list. Emailing your question to the right list can help you get an answer faster. You can get an overview of the various available mailing lists at http://www.kde.org/mailinglists | ||
====IRC==== | |||
If you're looking for something a bit more in the instant gratification department, then feel free to ask your question on IRC. KDE uses the [http://www.freenode.org Freenode] network and the easiest way to get on IRC is to point your favorite IRC client to irc.kde.org. There are several IRC clients available for KDE such as konversation and ksirc. There are two main channels for KDE development: | If you're looking for something a bit more in the instant gratification department, then feel free to ask your question on IRC. KDE uses the [http://www.freenode.org Freenode] network and the easiest way to get on IRC is to point your favorite IRC client to irc.kde.org. There are several IRC clients available for KDE such as konversation and ksirc. There are two main channels for KDE development: | ||
*The [irc://irc.kde.org/kde-devel #kde-devel] channel for general KDE development questions | *The [irc://irc.kde.org/kde-devel #kde-devel] channel for general KDE development questions | ||
Line 39: | Line 53: | ||
* Don't ask the question more than once. Even though the channel is active, the right person may not be available to provide an answer. If you are told to wait for a certain person to come online, be sure to ask again when you see them come online. Again, if you don't receive a response to your question in about an hour, it's best to send an email. | * Don't ask the question more than once. Even though the channel is active, the right person may not be available to provide an answer. If you are told to wait for a certain person to come online, be sure to ask again when you see them come online. Again, if you don't receive a response to your question in about an hour, it's best to send an email. | ||
==Suggested reading== | |||
==Suggested | |||
http://edu.kde.org/development/tips.php | http://edu.kde.org/development/tips.php |
Revision as of 23:29, 3 January 2007
This is a tutorial to learn KDE programming by examples. It assumes you are working with KDE 4, not KDE 3.
Overview
Basics
KDE heavily depends on Qt. Many KDE classes inherit from Qt classes. KDE 4 is based on Qt 4, KDE 3 is based on Qt 3. When this tutorial introduces a new Qt class, you're also learning KDE programming.
Your lessons
- Tutorial 1 - Hello World
- Tutorial 2 - Using KMainWindow
- Tutorial 3 - Using KActions
- Tutorial 4 - Using KConfig XT to store and retrieve settigns
- How to write an XML parser
- How to use CMake build system
- Drag-and-drop
- Command line options
- Printing
- How to write Kontact plugins
- How to work with Exceptions
Getting Help
Finding documentation
Whenever you have a KDE class and want the API documentation for it (KApplication, for example), point a konqueror window to
kde: KApplication
Be aware that the kde: konqueror shortcut only works for classes in kdelibs. If you ask for a class outside of kdelibs or a class that the API search software doesn't know about, you'll be redirected to the main API documentation page. You will need to navigate from there to find the class you're looking for.
If you need to look up the Qt API documentation for a class, you can point a Konqueror window to
qt: QApplication
This can be done in addition to browsing the Qt documentation locally, or using Qt Assistant.
Finding other developers
Mailing lists
There are two main development mailing lists:
- The kde-devel mailing list for general development issues
- The kde-core-devel mailing list for development issues specific to kdelibs, kdebase, and other central development issues
Many other mailing lists for certain applications also existing. Before posting a question, it's always best to make sure you direct it to the right list. Emailing your question to the right list can help you get an answer faster. You can get an overview of the various available mailing lists at http://www.kde.org/mailinglists
IRC
If you're looking for something a bit more in the instant gratification department, then feel free to ask your question on IRC. KDE uses the Freenode network and the easiest way to get on IRC is to point your favorite IRC client to irc.kde.org. There are several IRC clients available for KDE such as konversation and ksirc. There are two main channels for KDE development:
- The #kde-devel channel for general KDE development questions
- The #kde4-devel channel for questions specific to KDE 4 development
As with mailing lists, many applications have their own IRC channel. However, there currently is not a list of common IRC channels available. If you need to ask a question about a specific application, check that application's home page to see if there's an IRC channel available specifically for that application. If a channel is not listed, it's best to ask your question on one of the above two general development discussion channels.
In order to get the most out of your IRC experience, it's best to follow these guidelines when asking questions:
- If you have a question, just ask it. There's no need to ask if you can ask a question.
- Be prepared to wait for an answer. Even though IRC is more real-time mode of communication, there may not be anyone available to answer your question immediately after you ask it. In general, if you don't receive a response on IRC in about an hour, it's best to send an email.
- Don't ask the question more than once. Even though the channel is active, the right person may not be available to provide an answer. If you are told to wait for a certain person to come online, be sure to ask again when you see them come online. Again, if you don't receive a response to your question in about an hour, it's best to send an email.