Next Previous Table of Contents

### 1. Introduction

As Unix Systems are becoming more and more popular to even beginners working with computer machines due to its advantages in regards of stability and functionality, most are somehow disappointed, because those applications don't have a consistent look and each one behaves different from another. With KDE, developers have an almost perfect way to create first-class applications for Unix desktop systems to get a wider user community by the mere quality their applications have to offer. Therefore, KDE becomes more and more popular as a base for programming design, and developers want to take advantage of the possibilities that the system has to offer.

### 1.1 What you should know already

For making the best use of this programming handbook, we assume that you already know about the C++ programming language; if not, you should make yourself familiar with that first. Information about C++ is available through various sources either in printed form at your local bookstore or by tutorials found on the Internet. Knowledge about the design of Graphical User Interfaces is not required, as this handbook tries to cover the application design for KDE programs, which also includes an introduction into the Qt toolkit as well as the KDE libraries and the design of User Interfaces. Also, you should have made yourself comfortable with KDevelop by reading The User Manual to KDevelop, which contains a descriptive review of the functionality provided by the IDE.

### 1.2 About this Handbook

This handbook has been written to give developers an introduction into KDE application development by using the KDevelop Integrated Development Environment.

The following chapters therefore give an introduction on how to create projects, explains the sourcecodes already generated and shows how to extend the given sources on various topics such as toolbars, menu bars and view areas.

Then the dialogeditor is discussed in detail, explaining how widgets are created and covers widget properties settings in detail for all provided widgets.

Finally, you will learn about several topics that will complete your knowledge in regards of project design and helps you work out additional issues besides coding such as adding API documentation and extending online-manuals.

In the next chapter

we'll take a look at the Qt and KDE libraries, showing basic concepts and why things are the way they are. Also, we will discuss how to create the tutorial applications provided with the Qt toolkit by using KDevelop, so beginners can already see first results with a few steps, and thereby will learn how to make use of some of KDevelop's best features.

In the following chapters you will learn:

- how to create an application with the KAppWizard,
- what the project skeleton already provides,
- what the code already created means,
- how to create your own views,
- how to extend your application's functionality by dialog, menu bars and toolbars
- how to make your application user friendly by providing help functions and
- how to write SGML online documentation.

### 1.3 Additional Information

Additional information about Qt/KDE programming is available by various sources:

- Programming with Qt by Matthias Kalle Dalheimer, published by O'Reilly (see http://www.oreilly.com, covering almost all aspects of the Qt GUI toolkit and contains examples as well.
- The User Manual to KDevelop, provided with the KDevelop IDE,
- Online-Reference to the Qt-library, provided with your copy of the Qt toolkit in HTML and available as PostScript on http://www.troll.no
- On the Internet, see
  - the Troll Tech web site at http://www.troll.no,
  - the KDE web site at http://www.kde.org,
  - the KDE developer web site at http://developer.kde.org
  - the KDevelop home page at http://www.kdevelop.org

Additionally, you should look for help by subscribing to the various mailing lists, whose addresses are available on the mentioned web sites, and on the Usenet newsgroups dedicated to users of KDE and Unix Systems as well as about the C and C++ programming language.

For obtaining help about the KDevelop IDE, you should send requests to our mailinglist at kdevelop@fara3.cs.uni-potsdam.de. Mind that the KDevelop team is dedicated to provide the means to enable you to program applications and therefore is not intended as a technical support team in cases where the applications you're developing don't work due to implementation errors or misconfigurations of your operating system. By this, we ask all users to take advantage of the mailinglist in any case you're running into problems with the use of the IDE itself, as well as for bug reports and suggestions for improving the functionality of the development environment.

Next Previous Table of Contents