|
1 Qt 3.3 introduces many new features as well as many improvements over |
|
2 the 3.2.x series. For more details, see the online documentation which |
|
3 is included in this distribution. The documentation is also available |
|
4 at http://qt.nokia.com/doc/ |
|
5 |
|
6 The Qt version 3.3 series is binary compatible with the 3.2.x series. |
|
7 Applications compiled for 3.2 will continue to run with 3.3. |
|
8 |
|
9 **************************************************************************** |
|
10 * General * |
|
11 **************************************************************************** |
|
12 |
|
13 Qt library |
|
14 ---------- |
|
15 |
|
16 Qt 3.3 is .NET enabled. This release shows how to use classes |
|
17 developed with Qt in a .NET environment. It includes an analysis of |
|
18 the different interoperability infrastructures provided by the .NET |
|
19 framework. An example demonstrates how to use both a manual approach |
|
20 with Microsoft's managed extensions to the C++ language, and also |
|
21 automated solutions based on COM and the ActiveQt framework to reuse |
|
22 native Qt classes and widgets in .NET projects. To learn more about Qt |
|
23 and .NET read the "Using Qt objects in Microsoft .NET" walkthrough |
|
24 found in the ActiveQt framework documentation. |
|
25 |
|
26 Qt 3.3 now supports IPv6 in addition to IPv4. New functions have been |
|
27 added for IPv6 support to QSocketDevice, QHostAddress and QDNns. |
|
28 |
|
29 Qt now includes a new tool class called QLocale. This class converts |
|
30 between numbers and their string representations in various languages. |
|
31 QLocale supports the concept of a default locale which allows a locale |
|
32 to be set globally for the entire application. |
|
33 |
|
34 Support for new 64bit platforms and compilers has been added for Qt |
|
35 3.3. Qt now supports Itanium on both Linux (Intel) and Windows |
|
36 (VC++). Qt 3.3 now also officially supports FreeBSD. |
|
37 |
|
38 Qt 3.3 also supports precompiled headers for both Windows and Mac OS |
|
39 X. To use precompiled headers when compiling your Qt application |
|
40 simply add PRECOMPH and then specify the header file to precompile in |
|
41 your .pro file. To learn more about precompiled headers see the |
|
42 "Using Precompiled Headers" chapter in the qmake User Guide. |
|
43 |
|
44 Two new database drivers have been added to the SQL module, InterBase |
|
45 and SQLite. This makes it possible to write database applications that |
|
46 do not require a database server. SQLite is provided in the Qt 3.3 |
|
47 distribution and can be enabled with either -qt-sql-sqlite or |
|
48 -plugin-sql-sqlite. The InterBase plugin also works with Firebird, the |
|
49 open source version of InterBase. |
|
50 |
|
51 QWidget has a new function setWindowState() which is used to make a |
|
52 widget maximized, minimized, etc. This allows individual settings for |
|
53 the minimized/maximized/fullscreen properties. |
|
54 |
|
55 Support for semi-transparent top-level widgets on Mac OS X and Windows |
|
56 2000/XP has also been added. |
|
57 |
|
58 Qt 3.3 includes in addition to this, numerous bug fixes and |
|
59 improvements. Special thanks goes to KDE for their reports and |
|
60 suggestions. |
|
61 |
|
62 |
|
63 Qt/Embedded |
|
64 ----------- |
|
65 |
|
66 Added support for SNAP graphics drivers from SciTech Software. This |
|
67 gives access to accelerated drivers for more than 150 graphics |
|
68 chipsets. |
|
69 |
|
70 |
|
71 Qt/Mac |
|
72 ------ |
|
73 |
|
74 Added support for Xcode project files in qmake. |
|
75 Added Tablet support for Mac OS X. |
|
76 Numerous visual improvements. |
|
77 |
|
78 |
|
79 Qt/X11 |
|
80 ------ |
|
81 |
|
82 Added support for Xft2 client side fonts on X servers without the |
|
83 RENDER extension. |
|
84 |
|
85 Added a new configure option (-dlopen-opengl) which will remove the |
|
86 OpenGL and Xmu library dependencies in the Qt library. The functions |
|
87 used by Qt in those libraries are resolved manually using dlopen() |
|
88 when this option is used. |
|
89 |
|
90 Improved support for the Extended Window Manager Hints. |
|
91 |
|
92 |
|
93 Qt/Windows |
|
94 ---------- |
|
95 |
|
96 Added support for Windows Server 2003 (Win64/Itanium). |
|
97 |
|
98 |
|
99 Qt Motif Extension |
|
100 ------------------ |
|
101 |
|
102 Clipboard operations now work between Qt and Motif widgets in the same |
|
103 application. Click-to-focus works with Motif widgets that are children |
|
104 of a QMotifWidget. |
|
105 |
|
106 |
|
107 ActiveQt Extension |
|
108 ------------------ |
|
109 |
|
110 Two new functions, QAxFactory::startServer() and |
|
111 QAxFactory::stopServer(), can be used to start and stop an |
|
112 out-of-process ActiveQt server at runtime. The new functions |
|
113 QAxFactory::serverDirPath() and QAxFactory::serverFilePath() return |
|
114 the location of the COM server binary. Server binaries no longer |
|
115 need to implement a main() entry point function. A default |
|
116 implementation is used for out-of-process servers. IClassFactory2 |
|
117 is supported for the development of licensed components, and |
|
118 QAxFactory supports the creation of non-visual COM objects. Class |
|
119 specific information can be provided directly in the C++ class |
|
120 declaration using the Q_CLASSINFO macro to control how objects and |
|
121 controls are registered and exposed. New helper classes and macros |
|
122 are avialable to make it even easier to expose object classes (see the |
|
123 QAxServer documentation for details). |
|
124 |
|
125 COM objects developed with ActiveQt are now supported in a wider range |
|
126 of clients, including Microsoft Office applications and .NET. Examples |
|
127 that demonstrate how to use the Qt objects from the examples in .NET |
|
128 languages like C# are included. QStringList is supported as a type, |
|
129 and QRect, QSize and QPoint are now supported datatypes for control |
|
130 properties and as reference parameters. Saving the controls to a |
|
131 storage or stream now includes the version number of the QDataStream |
|
132 used for the serialization (note that this might break existing |
|
133 storages). |
|
134 |
|
135 The QAxContainer library is now static even for shared configurations |
|
136 of Qt. This simplifies deployment and allows using both QAxServer and |
|
137 QAxContainer in one project, i.e. an OLE automatable application that |
|
138 uses COM objects itself. The semantics of QAxBase::setControl() have |
|
139 been extended to allow creating of COM objects on remote machines via |
|
140 DCOM, to create controls requiring a license key and to connect to |
|
141 already running objects. The implementation of QAxBase::dynamicCall() |
|
142 has been improved to support passing of parameter values directly in |
|
143 the function string. Three new classes, QAxScript, QAxScriptManager |
|
144 and QAxScriptEngine, can be used to script COM objects from within Qt |
|
145 applications using Windows Script Host. |
|
146 |
|
147 SAFEARRAY(BSTR) parameters are supported as QStringList. Calling COM |
|
148 object methods with out-parameters of type short is now supported (the |
|
149 parameters are of type int& in the Qt wrapper), and QVariants used for |
|
150 out-parameters don't have to be initialized to the expected type. |
|
151 Calling QByteArray functions in out-of-process controls no longer |
|
152 returns an error code. The control's client side is set to zero when |
|
153 the container releases the control. |
|
154 |
|
155 |
|
156 Qt Designer |
|
157 ----------- |
|
158 |
|
159 Qt Designer, Qt's visual GUI builder, has received some speed |
|
160 optimizations, along with minor improvements to the menu editor. |
|
161 |
|
162 |
|
163 Qt Assistant |
|
164 ------------ |
|
165 |
|
166 Qt Assistant now saves the states of the tab bars between runs. This |
|
167 enables users to start browsing where they ended their previous |
|
168 assistant session. |
|
169 |
|
170 Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have been |
|
171 implemented. |
|
172 |
|
173 |
|
174 Compilers |
|
175 --------- |
|
176 |
|
177 Qt 3.3 adds support for two new compilers. The Intel C++ compiler is |
|
178 supported on Linux and FreeBSD. GNU gcc is supported on Windows using |
|
179 MinGW. |
|
180 |
|
181 Qt 3.3 no longer officially supports the Sun CC 5.0 compiler or the |
|
182 IRIX MIPSpro o32 mode. |
|
183 |
|
184 |
|
185 **************************************************************************** |
|
186 * Library * |
|
187 **************************************************************************** |
|
188 |
|
189 - QAction |
|
190 Added a setDisabled() slot similar to QWidget::setDisabled. |
|
191 Added an activate() slot which activates the action and |
|
192 executes all connected slots. |
|
193 Added showStatusMessage() and whatsThisClicked() signals. |
|
194 |
|
195 - QButtonGroup |
|
196 Added QButtonGroup::selectedId property to allow mapping with |
|
197 SQL property sets. |
|
198 |
|
199 - QCursor |
|
200 Added new enum value Qt::BusyCursor. |
|
201 |
|
202 - QDom |
|
203 The QDom classes are now reentrant. |
|
204 |
|
205 - QEvent |
|
206 Added new event type WindowStateChange, obsoleting ShowNormal, |
|
207 ShowMinimized, ShowMaximized and ShowFullScreen. |
|
208 |
|
209 - QHeader |
|
210 The sizeChange() signal is emitted when the section sizes are |
|
211 adjusted by double clicking. |
|
212 |
|
213 - QHostAddress |
|
214 Added new constructor for IPv6 and new functions |
|
215 isIPv6Address() and toIPv6Address(). Obsoleted the functions |
|
216 isIp4Addr() and ip4Addr(), replacing them with isIPv4Address() |
|
217 and toIPv4Address(). |
|
218 |
|
219 - QListView |
|
220 Improved alignment for text in QListViewItems. Right aligned |
|
221 text now has the ellipsis on the left. |
|
222 Keyboard search now uses the sort column as the column to |
|
223 start searching in. |
|
224 Improved branch drawing. |
|
225 |
|
226 - QLocale [new] |
|
227 This new tool class converts between numbers and their string |
|
228 representations in various languages. |
|
229 |
|
230 - QMacStyle |
|
231 Allow disabling of size constraints. |
|
232 |
|
233 - QMovie |
|
234 Added JNG support. |
|
235 |
|
236 - QPixmap |
|
237 Support full alpha-maps for paletted (8-bit) images. |
|
238 Support 16-bit grayscale PNG images with transparency. |
|
239 |
|
240 - QSocketDevice |
|
241 Added setProtocol() and protocol() for IPv6 support. |
|
242 |
|
243 - QSound |
|
244 Windows: Support loop related APIs. |
|
245 |
|
246 - QSplashScreen |
|
247 Less intrusive stay-on-top policy. |
|
248 |
|
249 - QSql |
|
250 Support for InterBase and SQLite. |
|
251 |
|
252 - QStatusBar |
|
253 Draw messages with the foreground() color of the palette, |
|
254 rather than with the text() color. |
|
255 |
|
256 - QString |
|
257 Added support for %lc and %ls to sprintf(). %lc takes a |
|
258 Unicode character of type ushort, %ls takes a zero-terminated |
|
259 array of Unicode characters of type ushort (i.e. const |
|
260 ushort*). Also added support for precision (e.g. "%.5s"). |
|
261 Changed arg() to support "%L1" for localized conversions. |
|
262 |
|
263 - QStyle |
|
264 Add a new primitive element: PE_RubberBand. |
|
265 |
|
266 - QTextEdit |
|
267 Reduced memory consumption by 20 bytes per line. |
|
268 Added a getter for the currently set QSyntaxHighlighter. |
|
269 |
|
270 - QVariant |
|
271 Comparison between variants where one of the variants is a |
|
272 numeric value will compare on the numeric value. Type casting |
|
273 between different variants is more consistent. |
|
274 |
|
275 - QWidget |
|
276 Added setWindowOpacity() and windowOpacity() to support |
|
277 transparent top-level widgets on Windows and Mac. |
|
278 Added windowState() and setWindowState() to allow individual |
|
279 setting of the minimized/maximized/fullscreen properties. |
|
280 |
|
281 - QWindowsStyle |
|
282 Qt supports toggling of the accelerator underlines using the |
|
283 Alt-key on Windows 98, 2000 and later. On other platforms this |
|
284 change has no effect. |