# 6.2. Qt and KDE Widgets

Currently provided widgets are:

QT-Widgets:

- QWidget - a widget that can be specified by yourself and can contain other widgets as well. This allows creating a widget hierarchy within your dialog.

- QLabel - a label that represents text information on the widget. Use QLabel e.g. in front of lineedits to signal what the purpose of the line-edit is or which variable e.g. a combo box allows to set.

- QPushButton - a button that allows to e.g. call another dialog like QFileDialog for selecting a filename.

- QCheckBox - a check box for e.g. enabling/disabling options. QCheckBox is widely used for configuration dialogs.

- QLCDNumber - displays numbers in LCD style. Often used for clocks.

- QRadioButton - like QCheckBox often used to let the user set any options. QRadioButton specializes the options setting when more of them depend on each other, e.g. you have three radio-buttons, but you want the user to choose one of three offered options. See `QButtonGroup` for additional information.

- QComboBox - a combo box lets the user set a value by selecting it from a drop-down menu or by inserting the value, if the box is write enabled.

- QListBox - provides a single-column list of items that can be scrolled.

- QListView - creates a multi-column list view that can be used to display e.g. file trees etc. in tree and table view.

- QMultiLineEdit - offers a multi-line editor.

- QProgressBar - displays the progress of an action that takes a longer time to be finished.

- QSpinBox - allows choosing numeric values by up- and down buttons or insertion if write enabled.

- QSlider - sets a value in a program-defined range by a slider.

- QScrollBar - indicates the range of a value and sets the current value by a slider as well as up- and down buttons; often used for widgets whose contents is larger than the actually visible view area. By using the scrollbar, the visible area can be changed to another part of the widgets' contents.

- QGroupBox - provides a group box frame with title to indicate that child widgets within the box belong together.

KDE-Widgets:

- KColorButton - a pushbutton displaying a selected color. On a button press, the KDE Color dialog is shown where the user can select another color. Often used for drawing applications or in any case where color values can be set.

- KCombo - similar to `QComboBox`. Lets the user choose a value by a drop-down list box.

- KDatePicker - a complete widget to get a date value by the user.

- KDateTable - a calendar table to select a date of a month. Used by `KDatePicker` to build the date picker dialog.

- KKeyButton - a button to select a key value. If the button is selected, it gets activated. Pressing a keyboard button will change the key value for the button which can be used to configure key-bindings.

- KLed - and LED (Light Emitting Diode) widget to display a certain state.

- KLedLamp - and LED lamp that also supports click actions

- KProgress - similar to `QProgressBar`, `KProgress` supports certain other values.

- KRestrictedLine - a `QLineEdit` that only accepts certain user input. This can be used to restrict access to certain data by password dialogs.

- KSeparator - a separator widget to be used in all cases where KDE applications require a separator to provide a unique look. Often used in dialogs to separate logical parts where `QGroupBox` doesn't fit.

- KTreeList - a collapsible list view to display trees similar to `QListView`.