Next: About Qt
Up: KDE and Qt
Previous: KDE and Qt
The Software Levels
- System; This is the lowest layer of software available to every Linux application. A set of low-level system calls provides direct access into the operation system, and its drivers, to do things like open files and create directories. Because the Linux kernel is written in C, these are all C function calls.
- glib; This is a set of C functions, macros, and structures that are used by all the layers above it; and, quite often, it is also used by applications. The glib library contains functions for memory allocation, string formatting, date and time, I/O, and timers. It also has utility functions for linked lists, arrays, hash tables, trees, quarks, and caches. One of the crucial functions handled by glib is the main loop, which enables KDE to handle multiple resources while it simultaneously executes the
code of an application.
- X11; This is the graphics layer that handles the low-level functions used to control the display. All the fundamental windowing functions are included - these are the functions that display windows and respond to the mouse and keyboard. This library has become very stable over the years and the version numbers have rarely changed. Currently, it is version 11 (as indicated by its name). And, because version 11 is in release 6, it is also known as X11R6. Its original name was without the version number, so it is often simply called X.
- C++ API; Everything above this layer is written using C++, so the C++ run-time system is called on for things such as creating new objects and handling I/O streams.
- Qt Classes; This set of C++ classes implements the various widgets (buttons, window frames, and so on) that can be used to create an application. It has the capability of combing windows to together to create complicated graphics dialogs. At the same time that it displays these widgets, it can respond to the mouse and keyboard for more input,
and dispatch information from the input window to the correct part of the program.
- KDE Classes; These classes modify and add functionality to the Qt classes. There is a large number of KDE classes, but the majority of them extend directly from one or more of the Qt classes. This layer is what gives KDE its unique appearance, and standardizes the way the window, mouse, and keyboard all interact with one another.
- Applications; There are two basic flavors of applications. You can create either a Qt application or a KDE application. A Qt application is one that creates a QApplication object to initialize itself, while a KDE application initializes itself by creating a KApplication object. The KApplication class extends the QApplication class by adding the things that are necessary for the standard appearance and capabilities of a KDE application.
Next: About Qt
Up: KDE and Qt
Previous: KDE and Qt
Cem Ozdogan
2007-05-16