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

[Home] [Next: Creating a Qt Application]

## Preface

### Introduction

This manual presents Qt Designer, a tool for designing and implementing user interfaces built with the Qt cross-platform application development framework. Qt Designer makes it easy to experiment with user interface design. At any time you can generate the code required to reproduce the user interface from the files Qt Designer produces, changing your design as often as you like. If you used the previous version you will find yourself immediately productive in the new version since the interface is fundamentally unchanged. But you will find new widgets and new and improved functionality which have been developed as a result of your feedback.

Qt Designer helps you build user interfaces with layout tools that move and scale your widgets (controls in Windows terminology) automatically at runtime. The resulting interfaces are both functional and attractive, comfortably suiting your users operating environments and preferences. Qt Designer supports Qt's signals and slots mechanism for type-safe communication between widgets. Qt Designer includes a code editor which you can use to embed your own custom slots inside the generated code. Those who prefer to separate generated code from hand crafted code can continue to use the subclassing approach pioneered in the first version of Qt Designer.

The manual introduces you to Qt Designer by leading you through the development of example applications. The first six chapters are tutorials, each designed to be as self-contained as possible. Every chapter, except the first, assumes that you are familiar with the material in chapter one which covers the basics of building a Qt application with Qt Designer. Here's a brief overview of the chapters:

- Chapter one, Creating a Qt Application, introduces Qt Designer and takes you step by step through the creation of a small but fully functional application. Along the way you will learn how to create a form and add widgets to it. In the course of this chapter you will use the form and property editors to customize the application, and learn how to lay out a form using the layout tools. You'll also learn how to use Qt's signals and slots mechanism and Qt Designer's built-in code editor to make the application functional. We will also explain how to use `qmake` to generate a Makefile so that you can compile and run the application.

- In chapter two, Creating Main Windows with Actions, Toolbars and Menus, we will create a simple text editor. Through writing this application you will learn how to create a main window with menus and toolbars. We will see how to use Qt's built-in functionality to handle common tasks (e.g. copy and paste handling), and how to create our own functionality for our own menu items and toolbar buttons.

- Chapter three, The Designer Approach, provides information on the Qt Designer approach to developing applications, and explains some of the rationale behind Qt Designer.

- Chapter four, Subclassing and Dynamic Dialogs, will show you how to subclass a form; this allows you to clearly separate the user interface from the underlying code that implements its functionality. Additional information on `qmake` and `uic` is included in this chapter. This chapter will also explain how you can dynamically load dialogs from `.ui` files into your application using QWidgetFactory and how to access the widgets and sub-widgets of these dialogs.

- Chapter five, Creating Custom Widgets, explains how you can create your own custom widgets. Both the simple method, that was introduced with the first version of Qt Designer, and the new more powerful method using plugins, are explained.

- Chapter six, Creating Database Applications introduces Qt's SQL classes and takes you through an example that demonstrates how to execute SQL queries and how to set up master-detail relationships, perform drilldown and handle foreign keys.

- Chapter seven, Customizing and Integrating Qt Designer, focuses on Qt Designer itself, showing you how to customize Designer, how to integrate Designer with Visual Studio and how to create Makefiles.

The remaining chapters provide reference material that explains Qt Designer's menu options, toolbars, key bindings and dialogs in detail.

### What You Should Know

This manual assumes that you have some basic knowledge of C++ and the Qt application development framework. If you need to learn more about C++ or Qt there are a vast number of C++ books available, and a small but increasing number of Qt books. Qt comes with extensive online documentation and many example applications that you can try.

The Enterprise Edition of Qt includes the Qt SQL module. In Creating Database Applications we demonstrate how to build SQL applications with Qt Designer; this chapter requires some knowledge of SQL and relational databases.

### What's New in Qt Designer?

This version of Qt Designer has a great deal more functionality than its predecessor. The code for custom slots can be edited directly in Qt Designer; main windows with actions, toolbars and menus can be created; layouts that incorporate splitters can be used; plugins allow you to package any number of custom widgets and make them available to Qt Designer. Many other enhancements have been incorporated, from small improvements in the user interface to improved efficiency, for example the ability to share pixmaps across all the forms in an application.

This version of Qt Designer introduces project files which make it easy to switch between all the forms in an application, and to maintain a common set of database settings and images. Although subclassing is fully supported, writing code directly in Qt Designer offers a number of advantages which are covered in The Designer Approach chapter.

A new library `libqui` has also been introduced which allows you to load dialogs dynamically at runtime from Qt Designer's `.ui` files. This allows you to provide your application's users with considerable interface customizability without them needing to use C++.

Although the new version of Qt Designer introduces new approaches and techniques you can ignore these aspects and simply use it in exactly the same way as you used the version supplied with Qt 2.x, if you just want a simple but powerful single dialog visual design tool.

> Qt Designer

### Feedback

If you have any comments, suggestions, criticisms or even praise regarding this manual, please let us know at `doc@trolltech.com`. Bug reports on Qt or Qt Designer should be sent to `qt-bugs@trolltech.com`. You might also like to join the qt-interest mailing list, which Qt Designer's developers read and contribute to; see http://www.trolltech.com for further details.

[Home] [Next: Creating a Qt Application]