1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-preface.leaf:3 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Preface</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual.html">Home</a>] [<a href="designer-manual-2.html">Next: Quick Start</a>]</p>
<h2 align="center">Preface</h2>
<h3><a name="1"></a>Introduction</h3>
<p>This manual presents <em>Qt Designer</em>, a tool for designing and implementing user interfaces built with the Qt multiplatform GUI toolkit. <em>Qt Designer</em> 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 <em>Qt Designer</em> produces, changing your design as often as you like. If you used an earlier version you will find yourself immediately productive in the new version since the interface is very similar. And you will also find new widgets and new and improved functionality which have been developed as a result of your feedback.</p>
<p><em>Qt Designer</em> helps you build user interfaces with layout tools that move and scale your widgets (<em>controls</em> in Windows terminology) automatically at runtime. The resulting interfaces are both functional and attractive, comfortably suiting your users' operating environments and preferences. <em>Qt Designer</em> supports Qt's signals and slots mechanism for type-safe communication between widgets. <em>Qt Designer</em> 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 <em>Qt Designer</em>.<!-- index Controls!Widgets --></p>
<p>The manual introduces you to <em>Qt Designer</em> by leading you through the development of example applications. The first seven chapters are tutorials, each designed to be as self-contained as possible. Every chapter, except the first three, assumes that you are familiar with the material in chapters two and three which cover the basics of building a Qt application with <em>Qt Designer</em>. Here's a brief overview of the chapters:</p>
<ul><li><p>Chapter one, <a href="designer-manual-2.html">Quick Start</a>, is a fast hands-on tutorial that takes you through the creation of a short, simple dialog application. The aim of this chapter is to give you a feel for how <em>Qt Designer</em> works, with explanations and details deferred to later chapters.</p>
<li><p>Chapter two, <a href="designer-manual-3.html">Creating a Main Window Application</a>, introduces <em>Qt Designer</em> 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 main window with menus, toolbars and a status bar. Most of the application's implementation will be covered, but the custom dialogs are deferred until chapter three. In the course of this chapter you will use the form and property editors to customize the application. You'll also learn how to use Qt's signals and slots mechanism and <em>Qt Designer</em>'s built-in code editor to make the application functional. We will also explain how to use <tt>qmake</tt> to generate a Makefile so that you can compile and run the application.</p>
<li><p>In chapter three, <a href="designer-manual-4.html">Creating Dialogs</a>, we will create the custom dialogs required by the main window application created in chapter two. In addition to demonstrating various ways of creating dialogs, you will also learn how to lay out forms using the layout tools.</p>
<li><p>Chapter four, <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a>, provides information on the <em>Qt Designer</em> approach to developing applications, and explains some of the rationale behind <em>Qt Designer</em>.</p>
<li><p>Chapter five, <a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a>, 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 <tt>qmake</tt> and <tt>uic</tt> is included in this chapter. This chapter will also explain how you can dynamically load dialogs from<!-- index .ui --> <tt>.ui</tt> files into your application using <a href="qwidgetfactory.html">QWidgetFactory</a> and how to access the widgets and sub-widgets of these dialogs.</p>
<li><p>Chapter six, <a href="designer-manual-7.html">Creating Custom Widgets</a>, explains how you can create your own custom widgets. Both the simple method, that was introduced with the first version of <em>Qt Designer</em>, and the new more powerful method using plugins, are explained.</p>
<li><p>Chapter seven, <a href="designer-manual-8.html">Creating Database Applications</a> 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.</p>
<li><p>Chapter eight, <a href="designer-manual-9.html">Customizing and Integrating Qt Designer</a>, focuses on <em>Qt Designer</em> itself, showing you how to customize Designer, how to integrate Designer with Visual Studio and how to create Makefiles.</p>
</ul><p>The remaining chapters provide reference material that explains <em>Qt Designer</em>'s <a href="designer-manual-11.html#reference-menu-options">menu options</a>, <a href="designer-manual-12.html#reference-toolbar-buttons">toolbars</a>, <a href="designer-manual-10.html#reference-key-bindings">key bindings</a>, <a href="designer-manual-13.html#reference-dialogs">dialogs</a>, <a href="designer-manual-14.html#reference-wizards">wizards</a>, and <a href="designer-manual-15.html#reference-windows">windows</a> in detail.</p>
<h3><a name="2"></a>What You Should Know</h3>
<p>This manual assumes that you have some basic knowledge of C++ and the Qt GUI toolkit. 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.</p>
<p>The Enterprise Edition of Qt includes the Qt SQL module. In <a href="designer-manual-8.html">Creating Database Applications</a> we demonstrate how to build SQL applications with <em>Qt Designer</em>; this chapter requires some knowledge of SQL and relational databases.</p>
<h3><a name="3"></a>What's New in <em>Qt Designer</em> for Qt 3.0?</h3>
<p>This version of <em>Qt Designer</em> has a great deal more functionality than its predecessor. For example, the code for custom slots can be edited directly in <em>Qt Designer</em>; main windows with actions, toolbars and menus can be created; layouts that incorporate splitters can be used; and plugins allow you to package any number of custom widgets and make them available to <em>Qt Designer</em>. 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.</p>
<p>This version of <em>Qt Designer</em> 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 <em>Qt Designer</em> offers a number of benefits which are covered in <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> chapter. A new library, <tt>libqui</tt>, has also been introduced which allows you to load dialogs dynamically at runtime from <em>Qt Designer</em>'s <tt>.ui</tt> files. This allows you to provide your application's users with considerable interface customizability without them needing to use C++.</p>
<p>Although the new version of <em>Qt Designer</em> 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.</p>
<h4><a name="3-1"></a>What's New in <em>Qt Designer</em> for Qt 3.1?</h4>
<ul><li><p><em>Qt Designer</em> now features a start-up dialog for fast access to recently used files, etc. (It can be switched off if you don't want it.)</p>
<li><p>The signals and slots dialog has changed significantly. It is far easier to use and much faster for creating lots of connections in one go. You can still click and drag to create connections, but the new dialog is much quicker.</p>
<li><p>Widgets are now accessible using the Toolbox. (All the original toolbars are still available.) This provides the same easy access as toolbar buttons, and also shows the names of the widgets and takes up less space.</p>
<li><p><a href="qwidgetstack.html">QWidgetStack</a> is now available as a container widget. The new example demonstrates its use.</p>
<li><p><tt>.ui.h</tt> files may now contain arbitrary C++, including <tt>const</tt> definitions, <tt>#include</tt>s, plain functions, etc.</p>
<li><p>When you select multiple-widgets their common properties are shown in the property editor and can be changed collectively.</p>
</ul><h4><a name="3-2"></a>What's New in <em>Qt Designer</em> for Qt 3.2?</h4>
<ul><li><p>The tool box widget used by <em>Qt Designer</em> since Qt 3.1 is now available as a Qt widget for use in your own programs. The widget is called <a href="qtoolbox.html">QToolBox</a>.</p>
<li><p>The menu editor in <em>Qt Designer</em> has been redesigned to make it easier to visually design application main windows.</p>
<li><p>Numerous small improvements to usability have also been incorporated in this version.</p>
</ul><p align="center"><img align="middle" src="qd-preface.png" width="1208" height="1026">
</p>
<blockquote><p align="center"><em>Qt Designer</em></p></blockquote>
<h3><a name="4"></a>Feedback</h3>
<p>If you have any comments, suggestions, criticisms or even praise regarding this manual, please let us know at <tt>doc@trolltech.com</tt>. Bug reports on Qt or <em>Qt Designer</em> should be sent to <a href="http://doc.trolltech.com/bughowto.html">qt-bugs@trolltech.com</a>. You might also like to join the <em>qt-interest</em> mailing list, which <em>Qt Designer</em>'s developers read and contribute to; see <a href="http://lists.trolltech.com">http://lists.trolltech.com</a> for further details.</p>
<!-- eof -->
<p align="right">[<a href="designer-manual.html">Home</a>] [<a href="designer-manual-2.html">Next: Quick Start</a>]</p>
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>
|