KD Tools - The Essential Add-on Library for Qt
SCL offers an indispensable library of widgets, containers, drawing objects and non-GUI classes that speed the creation of world-class applications using the Qt® multi-platform framework from Nokia, Qt Development Frameworks (formerly Trolltech). Each object in this collection is designed to save days of development, making it easy to cost justify its use for your whole team.
The KD Tools Package includes several different types of widgets:
Layout
Configuration Widget
KDConfigWidget is a Microsoft Office style configuration widget that provides a group of icons (or text label or both) along the side of the widget. By clicking on one of the icons, you display the corresponding page of information. The opening and closing of groups is animated to maximize the end user experience. KD Tools also includes a dialog version of this widget, KDConfigDialog, which encapsulates a KDConfigWidget in a QDialog. It provides up to five buttons at the bottom, which are by default labeled Default, Apply, Cancel, OK and Help.
ListBoxPair
Many applications have a list of values from which a user might select and prioritize a subset. One common example is in the exporting of data. Often, the application needs to provide the end user with the list of possible fields to export, as well as allow the user to select and order fields for export. KDListBoxPair provides this commonly used widget. It includes a pair of listboxes and a set of buttons to control the movement of data.Items can be moved between the list boxes and also reordered within one listbox.
SearchableListBox
This class combines a listbox with an edit field. The string typed into the edit field is matched against the contents of the listbox continuously. The first item matching the edit field will be highlighted. KDSearchableListBox is a very useful widget whenever there is a long list of items in the listbox and your users want to use the keyboard to speed selection.
DateWidget
This widget lets the user choose a date by selecting it on a calendar. In addition to being a much more user-friendly approach than using a spinbox, it also eliminates typing errors and provides a single way to select dates that is understandable worldwide. Matching Time (KDTimeWidget) and DateTimeWidget (KDDateTimeWidget) are provided to enable complete selection of a specific point in time.
Drawing
Frame
KDFrame lets the user draw highly configurable rectangular frames. The rectangle applies to the inner area of the frame, which is drawn around this area, touching it but not covering it. KDFrame allows the programmer to write and read the KDFrame object to/from an XML document.
DrawText
This class does not provide a widget of its own. KDDrawText lets the programmer draw rotated and circular text in a convenient way. Curved text can be drawn inside or outside an invisible circular line, viewed either from the inside or the outside of the circle. In addition, KDDrawText can also draw straight text rotated by a given angle.
Containers
CloseableWidget
KDCloseableWidget is a container widget that offers a title and close button. Depending on the mode you choose, the contained widget can be either hidden or deleted when the user clicks the close button.
MinimizeSplitter
This container widget allows the user to distribute the available space between its children. It is similar to QSplitter, but with an important addition: the horizontal or vertical splitter bar has a button that allows the user to "snap" the splitter bar top to the edge of the widget or back to the original position. Many application users prefer this incremental functionality provided by KDMinimizeSplitter because of the speed with which they can reconfigure the visible part of the application.
SimpleSizingControl
Allows the user to hide and show one child widget exactly by means of a little arrow button. When the child widget is hidden, the KDSimpleSizingControl will not take much more space than what is needed for the button.
SemiSizingControl
In addition to KDSimpleSizingControl, KDSemiSizingControl allows the programmer to specify a "minimize widget" which is shown in a minimized state instead of the hidden normal widget. For example, as shown below, the minimized widget could be a QLabel that summarizes the content of the normal widget.
ShowHideTableControl
ShowHideTableControl lets the user hide or show any number of columns or rows in a QTable object and thus reduce the amount of displayed information to what is needed at any time. If enabled by the application developer, KDShowHideTableControl also allows end users to drag-and-drop buttons on the table to specify what will be hidden/shown when the button is clicked.
Non-GUI
DirMonitor
This class can be used to monitor for new or changed files in a directory. KDDirMonitor can be configured to either use a polling implementation or, on operating systems that support it (currently Linux and SGI IRIX), the kernel-based File Allocation Monitor (FAM) to minimize system overhead. KDDirMonitor greatly simplifies a task that can be difficult to implement correctly across multiple operating systems.
Stream
KDStream offers streaming operators similar to the class cout in the C++ standard library. KDStream extends the concept of cout by providing built-in operators for the key Qt classes. The output goes to the same target as the output from qDebug().
Logger
This class allows applications to send logging output to a number of logging devices. Currently, four different levels of logging messages are supported (information, debugging, warning and error). Supported targets for logging include standard error files, Qt signals, the system log and any combination of these. You can also add your own logging device.

Tel: +44 1293 403636
Fax: +44 1293 403641
Email: