The Qt® 4 Resource Center

Follow up: The Current State of Designer

Qt Designer has made a huge progress since the last time I tried it. In this follow-up article I perform the same tasks as last time and look for the changes that the Trolls have made.


When writing this article I used the open source Qt 4 snapshot from 2005-05-28. Figure D2-1 shows how Designer looks without any project loaded. Since the last time the resource editing window and the connections' window have appeared. Apart from that the interface looks the same, which suites my working multi-head environment well. For those of you who want the old approach with a single surrounding window, check out figure D2-2. It is back!

Figure D2-1

Even though the Designer shown below looks a bit like the old Qt 3 Designer it is far from. Designer is still a user interface design tool only, so no project management or source code editing. However later editions of KDevelop integrates Designer, and it can manage all your project management and source code editing needs. As Qt 4 will be available as GPL for all major platforms (win32, MacOS X and X11) we can hope that KDevelop will be available everywhere too.

Figure D2-2

When starting Designer a dialog with template dialogs is shown. This list misses an empty dialog, so we will have to start from the dialog shown in figure D2-3 and simply delete the buttons, spacer and layout before we get going. No big issue, but it steals ten seconds for each new dialog that does not fit into any of the templates.

Figure D2-3

Creating a the layout worked perfectly, and the rendering bug from last time is gone. Figure D2-4 shows what the dialog looks like before we start connecting signals. As last time, one has to drag-and-drop each widget onto the dialog. A simple way to place many things of the same sort would be apprechiated here (perhaps there is a way - I did not look that hard.)

Figure D2-4

As discussed last time, Designer now allows connections to be created visually by dragging the signal from the source to the destination and then picking the signal and slot. This is shown in figure D2-5.

Figure D2-5

As I mentioned in the first paragraphs, there is a new connections window. It is shown in figure D2-6 and lets us afraid of new things connect our signals and slots in a table instead of having to draw everything on the form. Great!

Figure D2-6

Finally, there is the visually pleasing tab-ordering mode which lets the designer to set the order that the tab key move through the widgets of the dialog. This is shown in figure D2-7.

Figure D2-7

So, many of the deficiencies that Designer had are now gone. The next couple of figures shows some random nice features that I like. We start with figure D2-8 that shows a lovely menu item that will make even the most window cluttered desktop compatible with Designer in multi-window mode. Perhaps this is a good idea for GIMP that also tends to use many windows at once.

Figure D2-8

Then we reach the lack of empty templates that I mentioned earlier. Figure D2-9 shows the original new dialog. However it is possible to save forms as templates. Figure D2-10 shows the dialog that lets the user specify a descriptive name and location. The resulting new dialog is shown in D2-11. So, one minute's work and my complaint is invalid - great!

Figure D2-9

Figure D2-10

Figure D2-11

Figure D2-12 shows the context menu one gets when right clicking on a form that is being edited. All the most common tasks (rename, change texts, etc.) are available from here together with different layout options. This saves lots of searching in the property editing.

Figure D2-12

Finally, figure D2-13 shows that the current edition is far less talkative than the last version. However, some minor tweaking seems to be left. This was expected since we are dealing with a developer snapshot, so it should not be considered an issue.

Figure D2-13

Qt Designer has come a long way since the first beta releases. Now the tool is looking more and more powerful and I'm sure that I will love using it!

By: Johan Thelin