Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# Qt 4: Qt Designer

Qt Designer has been completely re-written based on our experience with the previous versions of the product for Qt 3. One of the main new ideas behind this new version is to release the application as a collection of interchangeable components that include the form editor, widget box, and other useful tools for creating graphical user interfaces with Qt. These components can either be used together in the Qt Designer application, or integrated into other systems. As a result, certain features such as the project editor and code editor have been removed from the version that is included in this release. This allows the components to be independent of each other.

The current version of Qt Designer is not feature complete. However, it is still under continuous development. This document will explain what is already in place and outlines features which we plan to add in future releases.

See also the Qt Designer Manual.

- The Current State of Qt Designer

- Widget Box
- Property Editor
- Form Editing Mode
- Connection Editing Mode

- Future Improvements to Qt Designer

- Widget Box
- Property Editor
- Form Editing Mode
- Connection Editing Mode
- Other Features

- Known Issues

## The Current State of Qt Designer

When used as a standalone application, Qt Designer includes a number of components that work together to provide a flexible GUI design tool. Widgets and dialog windows can be composed using a form-based interface that fully supports drag and drop, clipboard operations, and an undo/redo stack.

This version of Qt Designer introduces a number of editing modes to make different types of editing more natural. Each editing mode displays the form in an appropriate way for that mode, and provides a specialized user interface for manipulating the form's contents. Examples of editing modes include Form Editing mode, Connection Editing mode, and Tab Order Editing mode.

### Widget Box

This is a window which displays widgets and other objects that can be placed on a form. It is configurable from an XML file, making it easy to add custom widgets. This file is a collection of .ui documents. Widgets are placed on the form using drag and drop.

### Property Editor

This allows editing of most properties in widgets and layout objects.

### Form Editing Mode

The new form editor allows widgets to be dropped into existing layouts on the form. Previously, it was necessary to break layouts in order to add new widgets to them. Qt Designer now supports more direct manipulation of widgets: You can clone a widget by dragging it with the CTRL key held down, and it is even possible to drag widgets between forms.

### Connection Editing Mode

Qt Designer now employs a "wired" approach to the problem of representing and editing connections between objects on a form. This editing mode displays all the signal and slot connections in your form as arrows. These arrows can be manipulated visually, and provide the user with an overview of the form's connection logic.

## Future Improvements to Qt Designer

Each of the components provided with Qt Designer is expected to improve significantly in the next release of the application. Here are some of the features that we hope to include in each component in the future.

### Widget Box

Visual editing of custom widgets: A complex widget hierarchy may be dragged from the form to the widget box, where it can be used just like a regular widget.

### Property Editor

A quick-set property editor that lets the user quickly access the most common properties of a widget via a transient popup window. Drag and drop properties: Properties can be set by dragging them from the property editor to a widget.

### Form Editing Mode

Special editors that allow in-place editing of widgets. For example, an editor is being developed for adding items to a combo box.

More layout editing features, allowing the user to perform the following tasks:

- Create widgets that span multiple rows/columns in a layout.
- Move widgets inside a layout.
- Remove empty rows/columns from a layout.

### Connection Editing Mode

Adding custom signals and slots to a form. A feature which is currently missing is the ability to allow connections between objects on a form and all types of form widgets (not just QDialog).

### Other Features

We aim to provide a number of other features to make editing in Qt Designer a richer, more convenient experience.

- Plugin support. Plugins can be used to add new widgets, special editors, and support for Qt 3 compatibility widgets.
- An action editor for setting up QActions.
- Integration with the new resource system.
- Support for QMainWindow-based forms.
- Form templates for other types of widgets.
- SDK - a library for writing Qt Designer plugins and for integrating Qt Designer components into other environments.
- A buddy widget editor.

## Known Issues

We appreciate any comments and feedback that you may have about Qt Designer. However, please note that we have already been made aware of the following issues:

- When you insert a widget into a grid layout, causing it to add a new row, undoing the action removes the widget, but not the new row.
- It is not possible to make a connection from a widget on a form to the form itself, except where the form represents a QDialog, in which case the connection looks strange.
- The connection editor is not influenced by the undo stack.
- The margin and spacing properties of a layout are not properly handled by the form editor.
- The current version of Qt Designer does not support adding items to item views. What's more, if they are present in an old .ui file, they will be lost when the new file is saved.
- "Fake" properties that existed in old versions of Designer (SQL connection settings, etc.) are not currently supported.