New features of Qt Designer 4.5

Today, I would like to take you on a tour of the features of Qt Designer in the upcoming 4.5 release. The general focus of the 4.5 release is on stability and performance. Regarding Qt Designer, we mostly worked on usability and workflow-related issues.

The widget box and the property editor now have Filter fields, which let you find properties or widgets very quickly.

Property Editor

Using Ctrl+F in the object inspector will now display a search field at the bottom, letting you perform an incremental search on the form's widgets.

Object Inspector

Another thing to note about the object inspector is that the layout state of containers is now displayed with an icon in the left column. Broken layouts show up using the icon of the "Break Layout" action, which makes it possible to quickly check whether all container widgets have proper layouts.

The widget box now features an "Icon Mode", in which the icons are arranged in rows. This should substantially reduce the need to scroll, especially if there are many custom widgets present.

Widget Box

Quite some work has gone into object selection. The selection modifiers now conform to standards, i.e.,Ctrl can be used to toggle the selection status of a widget. Rubber-band-selection, which was previously available only on the form itself, can now be used everywhere using the middle mouse button. A common complaint about the previous versions of Qt Designer was that selecting a layout within a nested hierarchy of layouts was difficult. As of 4.5, there will be two additional ways to achieve this: The widget context menu contains an entry "Select ancestors" which lets you select the desired ancestor widget by name. In addition, Shift-clicking a selected widget will select the next ancestor, going up the hierarchy.

Some improvements were made to layout editing. It is now possible to re-layout just by choosing another layout type without having to break the layout. Also, when breaking the layout of a container embedded into another layout, it will no longer be squeezed to zero height or width in the form editor. Instead, it will maintain its size also in the unlaid-out state, allowing for conveniently rearranging and re-layouting it. Note that this deviates from the WYSIWYG principle employed in Qt Designer; it is a temporary state that only exists in the form editor.

The form layout has an additional action "Add form layout row" in the context menu, which brings the dialog shown in the picture (also triggered by double clicking):

Form Layout “Add Row” Dialog

It let's you specify description label and field control to be used for a row to be added very conveniently. The object names of the widget are derived from the label text as you type, no, no more lineEdit1, lineEdit2...!

One feature we are particularly proud of is "Morphing widgets". The context menu now features a "Morph into" entry, which lists similar widget types. For example, it is possible to morph a QWidget into a QFrame or into a QGroupBox without having to break layouts, move children elsewhere, re-layout, etc.

We have not forgotten our embedded designers. Qt Designer now features an "Embedded Design" tab within its preferences dialog page, letting you define embedded device profiles. A device profile comprises screen settings like display resolution, default font and style. Designer will use these settings when editing forms.

Various other features:
- Qt Designer 4.5 now supports linear wizards based on QWizard.
- Strings now have more sub-properties, for example a "translateable" checkbox that let's you disable the translation of a string (causing it not to show up in Qt Linguist). Also, the comment field has been split up into "disambiguation" and "comment".
- Item widget editors have been improved, allowing you to specify more properties for the items.
- Support for QButtonGroup has been added accessible via context menu for subclasses of QAbstractButton

I hope this little tour has piqued your curiosity and you will try out one of the snapshot packages!