Next Previous Table of Contents
The next pages will use a language that is usual among gui developers, for example, the word widget. A widget is everything you see on the screen, a button, a window, a scrollbar, a menubar, etc. As you can see, some widgets even contain other widgets inside them. From a developer point of view, you can think that every specialized widget inherits a base widget class, that is, the Qt::Widget class.
The layout of widgets is then, the way widgets are placed on the screen, one under another, one beside another, etc.
I'll try to explain any other unusual words as they appear.
If this tutorial is of any use, after reading it you'll be able to start writing your own KDE application. If that's the case, you'll probably face new problems which aren't described in these pages, that's why I've put here some notes, addresses, urls, etc that might be useful to get some help.
Qt comes with the best documentation that I've ever seen. Have a look at it whenever you wonder what a class does, or when you want to know if there's a method that does something special that you need. The Qt documentation can be browsed online at doc.trolltech.com
I have the Qt documentation directory in the bookmark list of konqueror, so that I can access it fast when I need it. Another trick I use quite often is creating a Web Shortcut to access the documentation of any class simply by writing qt:someclass in the location bar in Konqueror (i.e. "qt:qstring" ). To do so, simply open the "Enhanced Browsing" section in Konqueror's Settings and add a new Web Shortcut. Use file:/home/antonio/kdeCVS/qt-copy/doc/html/\{@}.html as "Search URI" and qt as "URI Shortcut".
If you cannot download the docs or don't want to download a big package, you can generate the documentation for yourself from the sources of the kdelibs by using KDoc or doxygen. They are documentation generators that use special tags in the sources that can generate html output as well as latex, docbook, man, etc.
If you want to join KDE, feel free to suscribe to the KDE mailing lists that are most interesting to you.
If you're a programmer, this is most probably kde-devel@kde.org, if you want to draw icons, you can join the artist team, if you want to translate KDE to a language, you can join the translation team, etc.
All the mailing lists are specified at www.kde.org/contacts.html, you can read there the instructions on how to suscribe.
Also, you can have a look at the developer.kde.org pages, which have very complete information for the KDE developers, including manuals, the documentation (tarred for download), tutorials, etc.
There's also a developer FAQ you should read at http://developer.kde.org/documentation/other/developer-faq.html.
I'd like to make a recomendation to those of you that are looking for an IDE which you don't have to abandon in any moment of the development of an application. KDevelop (which you can find at www.kdevelop.org) may be very useful to start developing a KDE application.
KDevelop is a complete IDE to develop applications (KDE, Qt or console apps), it features syntax higlighting, visual dialog editor, integrated debugger, application templates, integrated CVS support, translation support, icon editor, and many more features. Qt Designer is a very nice tool that simplifies a lot the generation of source code, I use it quite often to design the windows and widgets of my applications. You can use it in conjunction with the rbuic tool to generate ruby code. The Kate text editor also has ruby syntax highlighting, and may be quite sufficient for ruby development.
I wouldn't like to end this introduction without talking about the user interface guide which you can find at the developer.kde.org site.
On the following pages, I won't follow the UI guide as close as I should, in favour of simplicity. I suppose there's no need to say that every KDE developer developing a real application (not a simple tutorial) should read it completely and follow it as close as possible. The reason for this is obvious.
With nothing more to say, let's start the tutorial!
Next Previous Table of Contents