297 lines
10 KiB
Plaintext
297 lines
10 KiB
Plaintext
|
|
||
|
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). 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.
|
||
|
|
||
|
The print dialog now supports "selection" as a print range as well as
|
||
|
the possibility to enable/disable all different printer options
|
||
|
individually.
|
||
|
|
||
|
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 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.
|
||
|
|
||
|
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 new QWidgetContainerPlugin class provides support for complex
|
||
|
custom container widgets in Designer, such as the custom tab widget,
|
||
|
etc.
|
||
|
|
||
|
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.
|
||
|
|
||
|
****************************************************************************
|
||
|
* 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().
|
||
|
|
||
|
- 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.
|
||
|
|
||
|
- 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.
|
||
|
|
||
|
- 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().
|
||
|
|
||
|
- 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.
|
||
|
|
||
|
- QWidgetContainerPlugin [new]
|
||
|
This new plugin class complements QWidgetPlugin for custom
|
||
|
container widgets, i.e. widgets that can host child
|
||
|
widgets.
|