+ −
Qt 3.2 introduces new features as well as many improvements over the+ −
3.1.x series. This file gives an overview of the main changes since+ −
version 3.1.2. For more details, see the online documentation which+ −
is included in this distribution. The documentation is also available+ −
at http://qt.nokia.com/doc/+ −
+ −
The Qt version 3.2 series is binary compatible with the 3.1.x series.+ −
Applications compiled for 3.1 will continue to run with 3.2.+ −
+ −
****************************************************************************+ −
* General *+ −
****************************************************************************+ −
+ −
Qt library+ −
----------+ −
+ −
New classes have been added to the Qt Library including a+ −
class to add splash screens to applications (QSplashScreen), a toolbox+ −
widget that provides a column of tabbed widgets (QToolBox), and a+ −
class to manage per-thread data storage (QThreadStorage).+ −
+ −
The SQL module received a fair bit of attention this time. The most+ −
notable improvements include a native IBM DB2 driver, complete support+ −
for stored procedures including the possibility to access+ −
out-parameters, and native support for 64 bit fields without having to+ −
convert to or from strings. We also added support for setting+ −
connection parameters. This way you can, for example, conveniently+ −
open an SSL connection to a MySQL or PostgreSQL database. If you need+ −
even more customization, e.g. for an Oracle database, you can set up+ −
the connection yourself and instantiate a Qt driver object on top of+ −
it. An extended SQL cursor class has been added that makes it more+ −
convenient to display result sets from general SQL queries+ −
(QSqlSelectCursor). QSqlDatabase::tables() is now capable to return+ −
tables, views and/or system tables. In addition, you can add custom+ −
database drivers without compiling them as plugins+ −
(see QSqlDatabase::registerSqlDriver()).+ −
+ −
QLineEdit, the one-line text editor, now supports validation input+ −
masks. The feature complements the previous QValidator concept and+ −
allows e.g. restriction of input to the IP address format (mask+ −
"990.990.990.990;_"), or to ISO date format (mask "0000-90-90;0").+ −
+ −
Qt's unicode code support has been extended. Most notably, full+ −
support for Indic scripts has been added, covering writing systems+ −
such as Devanagari, Tamil and Bengali. The group of right to left+ −
writing systems has been extended with support for Syriac. Both+ −
improvements are available on both Windows with Uniscribe installed,+ −
and on Unix/X11 when using XFT with OpenType fonts.+ −
+ −
All tool classes that support STL-like iterators with begin() and+ −
end(), contain two extra functions constBegin() and constEnd(). The+ −
const versions always return const iterators, and thus can be a little+ −
bit faster with Qt's implicitly shared containers.+ −
+ −
QPainter's complex drawText() function has been highly+ −
optimized. Despite its support for complex unicode scripts, it now+ −
performs better than its less unicode-capable counterpart in Qt 2.3.+ −
+ −
QPixmap now supports pixmaps with alpha channel (semi transparency) on+ −
all Windows versions except Windows 95 and Windows NT 4.0.+ −
+ −
The print dialog now supports "selection" as a print range as well as+ −
the possibility to enable/disable all different printer options+ −
individually.+ −
+ −
On Windows, the Qt installation includes a toolbar for Visual Studio.NET + −
that provides an integration of the Qt tools (ie. Qt Designer) with the + −
IDE.+ −
+ −
Many classes were improved; see the detailed overview that follows.+ −
+ −
Qt Motif Extension+ −
------------------+ −
+ −
Dialog handling has matured and has been extended since the+ −
extension's introduction in Qt 3.1. The documentation and code+ −
examples have been improved, including a walkthrough that covers the+ −
complete migration of a real-world Motif example to Qt. The process+ −
contains four intermediate steps where the application utilizes both+ −
toolkits.+ −
+ −
ActiveQt Extension+ −
------------------+ −
+ −
Type handling has been extended on both the container and the server+ −
side. The new supported types are byte arrays and 64bit integers. The+ −
QAxServer module supports aggregation, as well as QObject subclasses as + −
return and parameter types of slots, and allows error reporting through + −
COM exceptions.+ −
The Designer integration has been extended to support property dialogs+ −
implemented by the control server.+ −
Controls developed with ActiveQt support aggregation, which makes it+ −
possible to use them in containers that require this form of containment to+ −
be supported. ActiveQt also supports masked controls in containers that+ −
support this for window'ed controls.+ −
+ −
Qt Designer+ −
-----------+ −
+ −
The popup menu editor has been rewritten. The new editor provides the+ −
the ability to add, edit and remove menus and menu items directly in+ −
the menubar and in the popup menu. Navigation and editing can be done+ −
using either the mouse or the keyboard.+ −
+ −
The property editor now allows editing of properties with or'd values+ −
(sets).+ −
+ −
Designer also supports the new QToolBox widget in a similar fashion to+ −
QTabWidget, etc.+ −
+ −
Qt Assistant+ −
------------+ −
+ −
Profiles have been introduced to allow applications to extend the use+ −
of Qt Assistant as a help system. Profiles describe the documentation+ −
to use so that only application specific documentation will be+ −
referenced in an end user installation. Profiles also allow some+ −
customization of the look in Qt Assistant. For detailed information,+ −
see the helpdemo example in $QTDIR/examples/helpdemo.+ −
+ −
Profiles replace the content files and categories system. The+ −
following command line options are removed since they no longer serve+ −
any purpose: addContentFile, removeContentFile, category, and+ −
disableFirstRun.+ −
+ −
Qt Assistant has multiple tabs for browsing, therefore enabling+ −
multiple pages to be browsed without opening a new window.+ −
+ −
It is possible to specify a default home page.+ −
+ −
It is possible to specify a PDF reader so that urls to PDF files can+ −
be opened from Qt Assistant.+ −
+ −
Compilers+ −
---------+ −
+ −
Note: Qt 3.2 is the last version to officially support IRIX MIPSpro+ −
o32 and Sun CC 5.0. A script, $QTDIR/bin/qt32castcompat, is provided+ −
for 3.2 which needs to be run for these compilers.+ −
+ −
Miscellaneous+ −
-------------+ −
+ −
Users of the 3.2.0 beta releases please note: The QWidgetContainerPlugin+ −
interfaces was removed from the final release due to some serious issues.+ −
+ −
****************************************************************************+ −
* Library *+ −
****************************************************************************+ −
+ −
- QAction / QActionGroup+ −
Simplified constructors so that it is no longer necessary to+ −
specify texts for buttons and menu items separately.+ −
For action groups, we fixed the enable/disable behavior. If+ −
an action inside an action group is explicitly disabled, it is+ −
no longer implicitly enabled together with the group.+ −
This is identical to enabling/disabling widgets and their+ −
children.+ −
+ −
- QApplication+ −
Added the aboutQt() slot for convenience.+ −
+ −
- QAssistantClient+ −
Added the new function, setArguments(), that invokes Qt+ −
Assistant in different modes.+ −
+ −
- QAxBase+ −
Added the new function, asVariant(), that passes a COM+ −
object through dynamicCall().+ −
+ −
- QAxBindable+ −
Added the new function, reportError(), that sends error+ −
information to the ActiveX client.+ −
+ −
- QColor+ −
Added the new static function, colorNames(), that retrieves a+ −
list of all color names known to Qt.+ −
+ −
- QDeepCopy+ −
Now also supports QDir, QFileInfo, and QStringList.+ −
+ −
- QDom+ −
Now has long and ulong support for setAttribute() and+ −
setAttributeNS().+ −
+ −
- QFont+ −
Added the new properties: stretch and overline. Added the new+ −
function, resolve(), that copies unspecified attributes from+ −
one font to another.+ −
+ −
- QFontDataBase+ −
Added a new overload for families() that restricts the+ −
returned list to fonts supporting a specific QFont::Script,+ −
e.g. QFont::Greek, QFont::Devanagari or QFont::Arabic.+ −
+ −
- QFontInfo / QFontMetrics+ −
Added new constructors that force the info and metrics objects+ −
to use a given QFont::Script.+ −
+ −
- QGLWidget+ −
Added a new constructor that takes a QGLContext+ −
parameter. Makes the undocumented setContext() obsolete.+ −
+ −
- QHeader+ −
Added getters for the sort indicator (sortIndicatorSection()+ −
and sortIndicatorOrder() ).+ −
+ −
- QImage+ −
Added a new overload for save() that writes to a given+ −
QIODevice*.+ −
+ −
- QListView+ −
Added tristate support to check list items+ −
(QCheckListItem::setTristate()). Added the new function,+ −
setSelectionAnchor(), to set the list view's selection anchor+ −
explicitly.+ −
+ −
- QLineEdit+ −
Added input masks: setInputMask(), inputMask(), and+ −
hasAcceptableInput(). Added new function selectionStart()+ −
which returns the index of the first selected character in the+ −
line edit.+ −
+ −
- QMacStyle+ −
Added customizable focus rectangle policy.+ −
+ −
- QMessageBox+ −
Added the new static function, question(), that complements+ −
the existing information(), warning() and fatal() functions.+ −
+ −
- QMotifDialog [Qt Motif Extension]+ −
Now has two distinct modes of operation: 1) it allows a Motif+ −
dialog to have a Qt parent, and 2) it allows a Qt dialog to have+ −
a Motif parent.+ −
+ −
- QMYSQLDriver+ −
Better support for MySQL/embedded.+ −
+ −
- QPixmapCache+ −
Added the new function, remove(), to explicitly remove a+ −
pixmap from the cache.+ −
+ −
- QPrinter+ −
Added the new functions: setPrintRange(), printRange(),+ −
setOptionEnabled(), and optionEnabled(). For Windows only,+ −
added the new function, setWinPageSize(), that allows setting+ −
DEVMODE.dmPaperSize directly.+ −
+ −
- QPtrList+ −
Added STL-like iterators with begin(), end(), and erase().+ −
+ −
- QScrollBar+ −
Maintains a user defined size policy when the direction+ −
changes.+ −
+ −
- QSplashScreen [new]+ −
This new widget class provides a splash screen to be shown+ −
during application startup.+ −
+ −
- QSplitter+ −
Added the new properties: opaqueResize, childrenCollapsible,+ −
and handleWidth.+ −
+ −
- QSqlError+ −
Added a couple of convenience functions: text(), which returns+ −
the concatenated database and driver texts. showMessage(),+ −
which will pop up a QMessageBox with the text that text()+ −
returns.+ −
+ −
- QSqlQuery+ −
Added overloads for the bindValue() call which makes it+ −
possible to specifiy what role a bound value should have: In,+ −
Out or InOut.+ −
+ −
- QSqlSelectCursor [new]+ −
This new QSqlCursor subclass provides browsing of general SQL+ −
SELECT statements.+ −
+ −
- QSqlDatabase+ −
Added overloaded tables() call which can return tables, views+ −
and/or system tables.+ −
+ −
- QPSQLDriver+ −
Calling tables() with no arguments will only return table names,+ −
instead of table and view names as in Qt 3.1.+ −
The new tables() call in QSqlDatabase can be used to get+ −
table and/or view names.+ −
+ −
- QString+ −
Added 64 bit support. Added the new functions: multiArg(),+ −
reserve(), capacity(), squeeze(). Added case insensitive+ −
overloads for startsWith() and endsWidth().+ −
+ −
- QStringList+ −
Added the new function gres().+ −
+ −
- QStyle+ −
Added support for toolbox, header, MDI frame, table grid line+ −
color, line edit password character, and message box question.+ −
+ −
- QSyntaxHighlighter+ −
Added the new function, currentParagraph().+ −
+ −
- QTabWidget+ −
Added support for custom widgets to be placed beside+ −
the tab bar: setCornerWidget() and cornerWidget().+ −
+ −
- QTextEdit+ −
In Log mode, added the new functions: setMaxLogLines() and+ −
maxLogLines(). Implemented insertAt() for LogText mode.+ −
+ −
- QThreadStorage [new]+ −
This new tool class provides per-thread data storage, also+ −
referred to as thread local storage or TLS.+ −
+ −
- QToolBox [new]+ −
This new widget class provides a column of tabbed widgets, one+ −
above the other, with the current page displayed below the+ −
current tab.+ −
+ −
- QVariant+ −
Added support for LongLong and ULongLong.+ −
+ −
- QWidget+ −
Added a new widget flag, WNoAutoErase, that combines the now+ −
obsolete WResizeNoErase and WRepaintNoErase flags.+ −