574 lines
17 KiB
Plaintext
574 lines
17 KiB
Plaintext
|
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
|