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 independently integrated into other systems. As a result, certain features such as the project editor and code editor have been removed from the version included with this release.

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

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 its contents. Examples of editing modes include Form Editing mode, Signals and Slots Editing mode, Buddy Editing mode, and Tab Order Editing mode.

User Interface Features

Widget Box

The widget box displays a categorized list of widgets and other objects that can be placed on a form using drag and drop.

When Qt Designer is in Top Level mode, the window containing the widget box also holds the main menu and tool bar. When in Workspace mode, the widget box becomes an independent window within the Qt Designer workspace.

The contents of the widget box are defined in an XML file that holds a collection of .ui documents for standard Qt widgets. This file can be extended, making it possible to add custom widgets to the widget box.

Property Editor

The property editor allows designers to edit most properties of widgets and layout objects. The property names and values are presented in an editable tree view that shows the properties of the currently selected object.

Certain resources, such as icons, can be configured in the property editor. Resources can be taken from any currently installed resource files, making it easier to design self-contained components.

Editing Features

Form Templates

Form templates provide ready-to-use forms for various types of widgets, such as QWidget, QDialog, and QMainWindow. Custom templates based on these widgets can also be created.

Templates can contain child widgets and layouts. Designers can save time by creating templates for the most common user interface features for repeated use.

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.

In-place widget editors provide specialized editing facilities for the most-used widget properties.

Signals and Slots 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 on your form as arrows. These arrows can be manipulated visually, and provide the user with an overview of the form's connection logic.

Connections can be made between objects on a form and the form itself. This is particularly useful when designing dialogs.

Buddy Editing Mode

Widgets that cannot accept keyboard input are often given buddy widgets that will take the keyboard focus on their behalf. In Buddy Editing mode, Qt Designer provides a similar to that used in Signals and Slots Editing mode to show the relationships between widgets and their buddies.

Tab Order Mode

In this mode, users can specify the order in which input widgets accept the keyboard focus.

The way that the tab order is defined follows the approach taken in Qt 3's version of Qt Designer.

Resource Editor

Resources can be associated with a given form, and these can be modified and extended using a file browser style interface.

The Resource Editor uses files that are processed by various components of the Qt Resource System to ensure that all required resources are embedded in the application.

Plugin Support

Custom Widgets

Plugins can be used to add new custom widgets, special editors, and support for widgets from the Qt 3 support library.

Support for custom widget plugins allows user interface designers to use application-specific widgets in their designs as early as possible in the development process.

Qt Designer handles custom widgets in the same way as standard Qt widgets, and allows custom signals and slots to be connected to other objects from within Signals and Slots Editing mode.

Qt Designer SDK

The new modular Qt Designer is designed to be integrated into other environments and extended with custom components.

The Software Development Toolkit is a library that developers can use to write extensions and plugins for Qt Designer, and enables Qt Designer components to be embedded into Integrated Development Environments (IDEs).

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 the future:

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:


Copyright © 2005 Trolltech Trademarks
Qt 4.0.0-b2