Qt 4.1 introduces many new features as well as many improvements and+ −
bugfixes over the 4.0.x series. 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 4.1 series is binary compatible with the 4.0.x series.+ −
Applications compiled for 4.0 will continue to run with 4.1.+ −
+ −
****************************************************************************+ −
* General *+ −
****************************************************************************+ −
+ −
Qt library+ −
----------+ −
+ −
- Introduced widget backing store support, allowing semi-transparent+ −
(alpha-blended) child widgets and faster widget painting, as well+ −
as solving long-lasting issues with non-rectangular widgets.+ −
+ −
- Integrated support for rendering Scalable Vector Graphics (SVG)+ −
drawings and animations (QtSvg module).+ −
+ −
- A Portable Document Format (PDF) backend for Qt's printing system.+ −
+ −
- A unit testing framework for Qt applications and libraries.+ −
+ −
- Modules for extending Qt Designer and dynamic user interface+ −
building.+ −
+ −
- Additional features for developers using OpenGL, such as support+ −
for pixel and sample buffers.+ −
+ −
- A flexible syntax highlighting class based on the Scribe rich text+ −
framework.+ −
+ −
- Support for network proxy servers using the SOCKS5 protocol.+ −
+ −
- Support for OLE verbs and MIME data handling in ActiveQt.+ −
+ −
- Support for universal binaries on Mac OS X.+ −
+ −
Qt Designer+ −
-----------+ −
+ −
- Added support for editing menu bars and tool bars.+ −
+ −
- Added support for adding comments to string properties.+ −
+ −
- Added new static QtUiTools library with improved+ −
QUiLoader API for loading designer forms at run-time.+ −
+ −
- Added support for namespaces in uic generated code.+ −
+ −
- Added support for dock widgets in main windows.+ −
+ −
- Added support for editing table, tree and list widgets.+ −
+ −
- Improved palette editing and resource support.+ −
+ −
QTestLib+ −
--------+ −
+ −
- Added QTestLib, the Qt Unit Testing Library. See the "QTestLib"+ −
chapter in the Qt documentation for more information.+ −
+ −
- Users of older versions of QtTestLib can use the updater utility in+ −
tools/qtestlib/updater to convert existing autotests to work with+ −
QTestLib.+ −
+ −
Boost+ −
-----+ −
+ −
Added boost compatible syntax for declaring signals and slots. If you+ −
define the macro QT_NO_KEYWORDS, "Q_SIGNALS" and "Q_SLOTS" are+ −
recognized as keywords instead of the default "signals" and "slots".+ −
Added a new keyword to qmake to enable this macro: CONFIG += no_keywords.+ −
+ −
ActiveQt+ −
--------+ −
+ −
QAxServer now supports mime-type handling - a ActiveX control can be+ −
registered to handle a certain file extension and mime-type, in which+ −
case QAxBindable::load and QAxBindable::save can be reimplemented to+ −
serialize the object.+ −
+ −
Build system+ −
------------+ −
+ −
Added support for linking static plugins into the application.+ −
+ −
Qt 3 to 4 Porting Tool+ −
----------------------+ −
+ −
Q(V|H)BoxLayout and QGridLayout usage is now ported to use+ −
Q3(V|H)BoxLayout/Q3GridLayout, to retain the margin/spacing behavior+ −
as in Qt 3.+ −
+ −
Meta Object Compiler (moc)+ −
--------------------------+ −
+ −
- Added support for const signals.+ −
+ −
Qt Assistant+ −
------------+ −
+ −
- Added -docPath command line option for easy setting of the+ −
document root path.+ −
+ −
QMake+ −
-----+ −
+ −
- Added support for new FORMS3 profile variable to make it possible+ −
to have Qt Designer forms from Qt 3 and Qt 4 in the same project.+ −
+ −
- Added support for precompiled headers on win32-g++ (MinGW)+ −
+ −
Compilers+ −
---------+ −
+ −
Added support for Solaris 10 on AMD64 with the compiler provided by+ −
Sun.+ −
+ −
+ −
****************************************************************************+ −
* Library *+ −
****************************************************************************+ −
+ −
+ −
New classes+ −
-----------+ −
+ −
- QTreeWidgetItemIterator+ −
Added iterator to help iterating over items in a QTreeWidget.+ −
+ −
- QStringFilterModel+ −
Allows you to provide a subset of a model to a view based on a+ −
regular expression.+ −
+ −
- QSyntaxHighlighter+ −
The QSyntaxHighlighter class allows you to define syntax+ −
highlighting rules.+ −
+ −
- QAbstractFileEngine+ −
A base class for implementing your own file and directory+ −
handling back-end for QFile, QFileInfo and QDir.+ −
+ −
- QAbstractFileEngineHandler+ −
For registering a QAbstractFileEngine subclass with Qt.+ −
+ −
- QFSFileEngine+ −
The default file engine for regular file and directory access+ −
in Qt.+ −
+ −
- Q3(H|V)BoxLayout and Q3GridLayout+ −
Layout classes provided for compatibility that behave the same+ −
as the Qt 4 classes but use a zero margin/spacing by default,+ −
just like in Qt 3.+ −
+ −
- Added qFromLittleEndian, qToLittleEndian, qFromBigEndian and+ −
qToBigEndian endian helper conversion functions (qendian.h)+ −
+ −
- Q_EXPORT_PLUGIN2 macro+ −
Obsoletes Q_EXPORT_PLUGIN and allows static linking of+ −
plugins.+ −
+ −
- Q3ComboBox+ −
For enhanced backwards compatibility with Qt 3.+ −
+ −
- QGLPbuffer+ −
For creating and managing OpenGL pixel buffers.+ −
+ −
- QNetworkProxy+ −
For setting up transparent (SOCKS5) networking proxying.+ −
+ −
- QDirectPainter (Qtopia Core only)+ −
Provides direct access to video framebuffer hardware.+ −
+ −
+ −
General improvements+ −
--------------------+ −
+ −
- QByteArray+ −
Added toLong() and + −
+ −
- QColorDialog+ −
Fix shortcut and focus for "Alpha channel" spinbox.+ −
+ −
- QLinkedList+ −
Added conversion methods to convert from/to STL lists.+ −
+ −
- QMap/QHash+ −
Fixed operator>>() to read back multiple values associated+ −
to a same key correctly.+ −
Added constFind(), for finding an item without causing a+ −
detach.+ −
+ −
- QMap/QHash+ −
Const-correctness in const_iterator's operator--(int).+ −
+ −
- QMainWindow+ −
The saveState() and restoreState() functions no longer+ −
fallback to using the windowTitle property when the objectName+ −
property is not set on a QToolBar or QDockWidget; this+ −
behavior was undocumented and has been removed.+ −
+ −
- QToolBar+ −
Added Qt 3 compatibility signal visibilityChanged(bool).+ −
+ −
- QMetaType+ −
Class is now fully reentrant.+ −
Metatypes can be registered or queried from multiple threads.+ −
Added qMetaTypeId<T>(), which returns the meta type ID of T at+ −
compile time.+ −
+ −
- QMetaProperty+ −
Added isResettable().+ −
+ −
- QSql+ −
Oracle plugin adds support for authentication using external+ −
credentials.+ −
Added isValid() to QSqlError.+ −
+ −
- QThread+ −
Added setPriority() and priority(), for querying and setting+ −
the priority of a thread.+ −
+ −
- QTreeWidgetItem/QTreeWidget+ −
Added new constructors and addChildren(), insertChildren(),+ −
takeChildren(), insertTopLevelItems(), addTopLevelItems to+ −
speed up insertion of multiple items.+ −
+ −
- QTextDocument+ −
Added the class QTextBlockUserData and added the possibility+ −
of storing a state or custom user data in a QTextBlock+ −
Added useDesignMetrics property, to enable the use of design+ −
metrics for all fonts in a QTextDocument.+ −
+ −
- QTextFormat+ −
Added support for setting the font pixel size.+ −
Added UserObject to QTextFormat::ObjectTypes enum.+ −
+ −
- QMetaType+ −
The value of QMetaTypeId<T>::Defined indicates whether a given+ −
type T is supported by QMetaType.+ −
+ −
- QAbstractItemView+ −
Added setIndexWidget() and indexWidget() which makes it+ −
possible to set a widget at a given index.+ −
+ −
Added a QAbstractItemView::ContiguousSelection mode.+ −
Added scrollToTop() and scrollToBottom().+ −
Changed signals pressed(), clicked() and doubleClicked() to+ −
only emit when the index is valid.+ −
+ −
- QAbstractItemModel+ −
Added a SizeHintRole that can be set for each item. The item+ −
delegate will now check for this value before computing the+ −
size hint based on other item data.+ −
+ −
Add QModelIndex::operator<() so we are able to use them in+ −
QMap and other containers.+ −
+ −
Added qHash function for QModelIndex.+ −
+ −
- QTableWidget+ −
Added cellWidget() and setCellWidget() which makes it possible+ −
to set a widget at a specified cell.+ −
+ −
Added setCurrentCell().+ −
+ −
Added QTableWidgetItem copy constructors.+ −
+ −
+ −
- QTreeWidget+ −
Added setItemWidget() and itemWidget() which makes it possible+ −
to set a widget on an item.+ −
+ −
- QListWidget+ −
Added setItemWidget() and itemWidget() which makes it possible+ −
to set a widget on an item.+ −
+ −
Added QListWidgetItem copy constructors.+ −
+ −
- QMutableMapIterator+ −
Added value() overloads to Java-style iterators that return+ −
non-const references.+ −
+ −
- QTextTable+ −
Added mergeCells() and splitCells() to be able to set the row+ −
or column span on a table cell.+ −
+ −
- QStyle+ −
Added standardIcon() which returns a default icon for standard+ −
operations.+ −
Added State_ReadOnly, which is enabled for read-only widgets.+ −
+ −
Renamed QStyleOption::init() to initFrom().+ −
- QGroupBox is now completely stylable (QStyleOptionGroupBox).+ −
- QToolBar is now stylable according to its position in the+ −
toolbar dock area (QStyleOptionToolBar).+ −
- Indeterminate (busy) progress bars are now animated properly+ −
in all styles.+ −
- By popular request, the default toolbar icon size+ −
(PM_ToolBarIconSize) in Windows and Plastique styles has+ −
been changed to 24 x 24 (instead of 16 x 16 in Windows and+ −
32 x 32 in Plastique).+ −
+ −
Added PM_DockWidgetTitleMargin as pixel metric.+ −
+ −
- QHash+ −
Make it possible to use QHash with a type that has no default+ −
constructor.+ −
+ −
- QTableView+ −
Made QTableView::setShowGrid() a slot, like in Qt 3.+ −
Added setRowHeight() and setColumnWidth().+ −
+ −
- QTableWidgetSelectionRange+ −
Added rowCount() and columnCount() convenience functions.+ −
+ −
- QSettings+ −
Added support for custom formats in QSettings.+ −
+ −
- QTextStream+ −
Added status(), setStatus() and resetStatus() for improved+ −
error handling.+ −
Added read(qint64 maxlen), for reading parts of a text stream+ −
into a QString.+ −
+ −
- QTextCursor+ −
Added support for BlockUnderCursor selection type.+ −
+ −
- QHeaderView+ −
Added defaultSectionSize property which tells the default size+ −
of the header sections before resizing.+ −
+ −
- QScrollBar+ −
Added context menu to the scrollbar with default navigation+ −
options.+ −
+ −
- QScrollArea+ −
Added ensureVisible(), which can scroll the scrollarea to make+ −
sure a specific point is visible.+ −
+ −
- QDateTime+ −
Added addMSecs(), which adds a number of milliseconds to the QDateTime.+ −
+ −
- QDateTimeEdit+ −
Added support for more date/time formats.+ −
Now allows multiple sections of the same type.+ −
+ −
- QButtonGroup+ −
Added handling of buttons with IDs to the buttongroup like in+ −
Qt 3.+ −
+ −
- QIODevice+ −
Added peek() for peeking data from a device.+ −
+ −
- QTextEdit+ −
Added property tabStopWidth which sets the tab stop width in+ −
pixels.+ −
append(const QString &) is now a public slot.+ −
Added support for inserting Unicode control characters through+ −
the context menu.+ −
Added property acceptRichText, for whether or not the text+ −
edit accepts rich text insertions by the user.+ −
Added overwriteMode property.+ −
+ −
- QDataStream+ −
Added skipRawData().+ −
Added support for QRegExp.+ −
+ −
- QProgressBar+ −
Added support for vertical progress bars.+ −
+ −
- QImageIOHandler+ −
The name() function has been obsoleted; use format() instead.+ −
Added QImageIOHandler::Animation, for determining if the image+ −
format supports animation.+ −
Added QImageIOHandler::BackgroundColor, for setting the+ −
background color for the image loader.+ −
+ −
- QImageReader+ −
Added setBackgroundColor() and backgroundColor(), for setting+ −
the background color of an image before it is read.+ −
Added supportsAnimation(), for checking if the image format+ −
supports animation.+ −
+ −
- QImageWriter+ −
Added support for saving image text.+ −
+ −
- QLocale+ −
Added dateFormat()/timeFormat() to query the date/time format+ −
for the current locale.+ −
Added toString() overloads for localized QTime and QDate+ −
output.+ −
Added decimalPoint(), groupSeparator(), percent(),+ −
zeroDigit(), negativeSign() and exponential(), which provide a+ −
means to generate custom number formatting.+ −
+ −
- QHostInfo+ −
Added support for reverse name lookups.+ −
+ −
- QHostAddress+ −
Added a QString assignment operator+ −
Added convenience functions for initializing from a native+ −
sockaddr structure.+ −
Added support for the IPv6 scope-id.+ −
+ −
- QPrinter+ −
Added property "embedFonts" for embedding fonts into the+ −
target document.+ −
Added support for printing to PDF.+ −
Added support for custom print and paint engines+ −
+ −
- QPrintEngine+ −
Added PPK_SuppressSystemPrintStatus, for suppressing the+ −
printer progress dialog on Mac OS X.+ −
+ −
- QKeySequence+ −
Added fromString() and toString() for initializing a key+ −
sequence from, and exporting a key sequence to a QString.+ −
+ −
- QUrl+ −
Added the port(int) function, which provides a default value+ −
for the port if the URL does not define a port.+ −
Support for decoding Punycode encoded hostnames in URLs.+ −
Made the parser more tolerant for mistakes, and added a+ −
ParsingMode flag for selecting strict or tolerant parsing.+ −
Added support for the NAMEPREP standard in our i18n domain+ −
name support.+ −
+ −
- QDir+ −
Added the filter QDir::NoDotAndDotDot, for the+ −
special directories "." and "..".+ −
Added the filter QDir::AllEntries, for all entries+ −
in a directory, including symlinks.+ −
+ −
+ −
- QAbstractSocket+ −
Added slots connectToHostImplementation() and+ −
disconnectFromHostImplementation() to provide polymorphic+ −
behavior for connectToHost() and disconnectFromHost().+ −
+ −
- QMenuBar+ −
Added setActiveAction(), which makes the provided action+ −
active.+ −
+ −
- QProxyModel+ −
This class has been obsoleted (see QAbstractProxyModel)+ −
+ −
- QWidget+ −
Now supports three modes of modality: NonModal, WindowModal+ −
and ApplicationModal.+ −
Added Qt::WindowModality, obsoleted WA_ShowModal and+ −
WA_GroupLeader.+ −
Added Qt::WA_OpaquePaintEvent widget attribute, obsoleting+ −
Qt::WA_NoBackground.+ −
Added boolean autoFillBackground property.+ −
Child widgets now always inherit the contents of their parent.+ −
+ −
- QPalette+ −
Added QPalette::Window (obsoletes Background) and+ −
QPalette::WindowText (obsoletes Foreground).+ −
+ −
- QHttpResponseHeader+ −
Added two constructors and the function setStatusLine() for+ −
generating a response header.+ −
+ −
- QBitArray+ −
Added count(bool), for counting on and off-bits in a bit+ −
array.+ −
+ −
- QVariant+ −
Added support for QRegExp+ −
+ −
- QRegExpValidator+ −
Added the property "regExp".+ −
+ −
- QTabBar+ −
Added the property "iconSize", for setting the size of the+ −
icons on the tabs.+ −
+ −
- QLineEdit+ −
Added support for inserting Unicode control characters through+ −
the context menu.+ −
+ −
- QString+ −
Added toLong() and toULong().+ −
Support for std::string conversions with embedded \0+ −
characters.+ −
+ −
- QRegion+ −
Added translate(), like QRect::translated().+ −
+ −
- QProcess+ −
Added systemEnvironment(), which returns the environment+ −
variables of the calling process.+ −
Added exitStatus(), and added a new finished() signal which+ −
takes the exit status as a parameter.+ −
+ −
- QComboBox+ −
Made setCurrentIndex() a slot.+ −
+ −
- QFontDataBase+ −
Added styleString(), for retrieving the style string from a+ −
QFontInfo.+ −
Added support for Myanmar fonts.+ −
+ −
- QFontMetrics+ −
Added xHeight(), which returns the 'X' height of the font.+ −
+ −
- QCoreApplication+ −
Added arguments(), which returns a list of command line+ −
arguments as a QStringList.+ −
+ −
- QTcpSocket+ −
Added support for SOCKS5 via setProxy().+ −
+ −
- QUdpSocket+ −
Added property "bindMode", for binding several sockets to the+ −
same address and port.+ −
+ −
- QPen+ −
Added support for custom dash pattern styles and miter limits.+ −
Added support for QDebug.+ −
+ −
- QDebug+ −
Added support for QVector and QPair output.+ −
+ −
- QStringListModel+ −
Added support for sorting.+ −
+ −
- QOpenGLPaintEngine+ −
Gradients in the OpenGL paint engine are now drawn using+ −
fragment programs, if the extension is available. Lots of+ −
fixes, speedups and tweaks.+ −
+ −
+ −
Platform-Specific changes+ −
-------------------------+ −
+ −
Windows:+ −
+ −
- Painting+ −
Added support for ClearType text rendering.+ −
+ −
- File Engine+ −
Added support for long filenames/paths.+ −
+ −
X11:+ −
+ −
- QWidget+ −
Added support for freedesktop.org startup notifications.+ −
+ −
Mac OS X:+ −
+ −
- Added support for universal binaries+ −
- Improved support for the VoiceOver accessibility tool in Mac OS X 10.4+ −
and later+ −
+ −
+ −
3rd-party libraries+ −
-------------------+ −
+ −
- zlib+ −
Upgraded to zlib 1.2.3.+ −
+ −
- FreeType+ −
Upgraded to FreeType 2.1.10.+ −
+ −
- SQLite+ −
Upgraded to SQLite 3.2.7+ −