| 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. |