|
1 |
|
2 Qt 2.2 introduces new features as well as many improvements over the |
|
3 2.1.x series. This file will only give an overview of the main changes |
|
4 since version 2.1. A complete list would simply be too large to be |
|
5 useful. For more detail see the online documentation which is |
|
6 included in this distribution, and also available on |
|
7 http://qt.nokia.com/doc/ |
|
8 |
|
9 The Qt version 2.2 series is binary compatible with the 2.1.x and |
|
10 2.0.x series - applications compiled for 2.0 or 2.1 will continue to |
|
11 run with 2.2. |
|
12 |
|
13 As with previous Qt releases, the API and functionality of Qt is |
|
14 completely portable between Microsoft Windows and X11. It is also |
|
15 portable between Windows 95, 98, NT and 2000. |
|
16 |
|
17 **************************************************************************** |
|
18 * Overview * |
|
19 **************************************************************************** |
|
20 |
|
21 The greatest new feature in the 2.2 release is the Qt Designer, a |
|
22 visual GUI design tool. It makes it possible to cut down on |
|
23 development time even further through WYSIWYG dialog design. The |
|
24 designer makes use of improved runtime flexibility and a revised |
|
25 property system. Please see $QTDIR/doc/html/designer.html for a |
|
26 feature overview. |
|
27 |
|
28 Qt 2.2 integrates now fully on MS-Windows 2000. This includes fade |
|
29 and scroll effects for popup windows and title bar gradients for MDI |
|
30 document windows in the MDI module. As with all Qt features, we |
|
31 provide the same visual effects on Unix/X11. |
|
32 |
|
33 Two new classes QAction and QActionGroup make it much easier to |
|
34 create sophisticated main windows for today's applications. A QAction |
|
35 abstracts a user interface action that can appear both in menus and |
|
36 tool bars. An action group makes it easier to deal with groups of |
|
37 actions. It allows to add, remove or activate its children with a |
|
38 single call and provides "one of many" semantics for toggle |
|
39 actions. Changing an action's properties, for example using |
|
40 setEnabled(),setOn() or setText(), immediately shows up in all |
|
41 representations. |
|
42 |
|
43 Few people consider the original OSF Motif style the most elegant or |
|
44 flashy GUI style. Therefore several attempts have been made to come up |
|
45 with a slightly improved Motif-ish look and feel. One of them is the |
|
46 thinner CDE style, that was supported by Qt since version 2.0. In the |
|
47 2.2 release, we now added support for SGI's very own Motif version on |
|
48 IRIX workstations. With its more elegant bevelling of 3D elements and |
|
49 mouse-under highlight effects, it is quite appealing. For Linux users, |
|
50 we added a Motif plus style, that resembles the bevelling used by the |
|
51 GIMP toolkit (GTK+). Optionally, this style also does hovering |
|
52 highlight on buttons. |
|
53 |
|
54 Last but not least we added support for multi-threaded |
|
55 applications. The classes involved are QThread to start threads, |
|
56 QMutex to serialize them and QCondition to signal the occurrence of |
|
57 events between threads ("condition variables"). |
|
58 |
|
59 Another major change was done regarding distribution. In order to |
|
60 address the steady growth of functionality in the Qt library, we |
|
61 split the source code into distinct modules that can be compiled |
|
62 in (or left out) separately. This also makes it possible for us to |
|
63 keep the cost of entry into the commercial Qt world as low as possible. |
|
64 |
|
65 The modules available in Qt 2.2 are: |
|
66 |
|
67 - Tools: platform-independent Non-GUI API for I/O, encodings, containers, |
|
68 strings, time & date, and regular expressions. |
|
69 |
|
70 - Kernel: platform-independent GUI API, a complete window-system API. |
|
71 |
|
72 - Widgets: portable GUI controls. |
|
73 |
|
74 - Dialogs: ready-made common dialogs for selection of colors, files, |
|
75 printers, fonts, and basic types, plus a wizard framework, message |
|
76 boxes and progress indicator. |
|
77 |
|
78 - OpenGL 3D Graphics: integration of OpenGL with Qt, making it very |
|
79 easy to use OpenGL rendering in a Qt application. |
|
80 |
|
81 - Network: advanced socket and server-socket handling plus |
|
82 asynchronous DNS lookup. |
|
83 |
|
84 - Canvas: a highly optimized 2D graphic area. |
|
85 |
|
86 - Table: a flexible and editable table widget |
|
87 |
|
88 - IconView: a powerful visualization widget similar to QListView and |
|
89 QListBox. It contains optionally labelled pixmap items that the user |
|
90 can select, drag around, rename, delete and more. |
|
91 |
|
92 - XML: a well-formed XML parser with SAX interface plus an |
|
93 implementation of the DOM Level1 |
|
94 |
|
95 - Workspace: a workspace window that can contain decorated document |
|
96 windows for Multi Document Interfaces (MDI). |
|
97 |
|
98 |
|
99 Network, Canvas, Table and XML are entirely new modules. |
|
100 |
|
101 Below is a list of the major new features in existing classes as well |
|
102 as short descriptions of all new classes. |
|
103 |
|
104 |
|
105 **************************************************************************** |
|
106 * New major features in existing classes * |
|
107 **************************************************************************** |
|
108 |
|
109 QApplication: - "global strut", an adjustable minimum size for interactable |
|
110 control elements like the entries in a listbox, useful for |
|
111 touch-screens. Popup window effects ( setEffectEnabled() ) |
|
112 and more threading support ( guiThreadTaken(), lock(), |
|
113 unlock(), locked() ). |
|
114 |
|
115 QCheckBox: - "tristate" is now a property. |
|
116 |
|
117 QClipboard: - text() supports subtypes. |
|
118 |
|
119 QComboBox: - "editable" is now a property that is changeable at runtime |
|
120 |
|
121 QDialog: - support for extensible dialogs ("More...") with |
|
122 setExtension() and setOrientation(). Optional size grip. |
|
123 |
|
124 QFont: - new functions styleStrategy() and setStyleHint() |
|
125 |
|
126 QIconSet: - new constructor that takes both a small and a large pixmap |
|
127 |
|
128 QKeyEvent: - numeric keypad keys now set a Keypad flag |
|
129 |
|
130 QLabel: - support for scaled pixmap contents, "pixmap" as property |
|
131 |
|
132 QLayout: - improved flexibility with setEnabled(), access to the |
|
133 laid out menu bar with menuBar(). |
|
134 |
|
135 QListView: - "showSortIndicator" as property. New function |
|
136 QListViewItem::moveItem() to simplify drag and drop. |
|
137 |
|
138 QMovie: - new functions pushSpace(), pushData(), frameImage() |
|
139 |
|
140 QMultiLineEdit: - new functions pasteSubType() and copyAvailable() |
|
141 |
|
142 QObject: - new function normalizeSignalSlot(), tr() now supports a comment. |
|
143 |
|
144 QPicture: - streaming to and from QDataStream |
|
145 |
|
146 QPopupMenu: - new signal aboutToHide() |
|
147 |
|
148 QRegExp: - new functions setPattern() and find() |
|
149 |
|
150 QRegion: - new function setRects() |
|
151 |
|
152 QScrollView: - new property "staticBackground" to define a pixmap |
|
153 background that does not scroll with the contents. |
|
154 |
|
155 QStatusBar: - "sizeGripEnabled" as property |
|
156 |
|
157 QStyle: - themable menu bars with drawMenuBarItem(). New functions |
|
158 buttonMargin(), toolBarHandleExtent(), sliderThickness() |
|
159 |
|
160 QTabWidget: - new functions currentPageIndex(), setCurrentPage(), new |
|
161 signal currentChanged(). Similar extensions to QTabBar |
|
162 and QTabDialog |
|
163 |
|
164 QTranslator: - new algorithmen for faster lookup. No more risk of |
|
165 "hash collisions" when many translators are loaded. |
|
166 |
|
167 QVariant: - new subtype QSizePolicy. Necessary for QWidget's |
|
168 new sizePolicy property. |
|
169 |
|
170 QWidget: - new properties "sizePolicy", "ownPalette", "ownFont", |
|
171 "ownCursor" and "hidden". The size policy is now adjustable |
|
172 at runtime with setSizePolicy(). Added convenience slot |
|
173 setDisabled(). Fast geometry mapping functions mapTo() and |
|
174 mapFrom(). On X11, support for a new background mode |
|
175 X11ParentRelative. |
|
176 |
|
177 QWizard: - runtime changable titles with setTitle(), new signal |
|
178 selected() |
|
179 |
|
180 QWorkspace: - support for more widget flags like WType_Tool. Titlebar |
|
181 blending effects on MS-Windows 98/2000. |
|
182 |
|
183 |
|
184 **************************************************************************** |
|
185 * New classes * |
|
186 **************************************************************************** |
|
187 |
|
188 QAction - Abstracts a user interface action that can appear both in |
|
189 menus and tool bars. Changing an action's properties, for |
|
190 example using setEnabled(),setOn() or setText(), |
|
191 immediately shows up in all representations. |
|
192 |
|
193 QActionGroup - Combines actions to a group. An action group makes it easier |
|
194 to deal with groups of actions. It allows to add, remove or |
|
195 activate its children with a single call and provides |
|
196 "one of many" semantics for toggle actions. |
|
197 |
|
198 QDial - A rounded rangecontrol (like a speedometer or |
|
199 potentiometer). Both API- and UI-wise the dial is very |
|
200 similar to a QSlider. |
|
201 |
|
202 QDom - [XML Module] DOM Level 1 Tree |
|
203 |
|
204 QMotifPlusStyle - This class implements a Motif-ish look and feel with more |
|
205 sophisticated bevelling as used by the GIMP toolkit (GTK+) |
|
206 for Unix/X11. |
|
207 |
|
208 QMutex: - Provides access serialization between threads. |
|
209 |
|
210 QSemaphore: - A robust integer semaphore. Another way of thread |
|
211 serialization. |
|
212 |
|
213 QThread - Baseclass for platform-independent threads. |
|
214 |
|
215 QWaitCondition - Provides signalling of the occurrence of events between |
|
216 threads ("condition variables") |
|
217 |
|
218 QCanvas - [Canvas Module] a highly optimized 2D graphic area. |
|
219 |
|
220 QTable - [Table Module] a flexible and editable table widget |
|
221 |
|
222 QXML - [XML Module] XML parser with SAX interface |
|
223 |