| 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 |
| ---------- |
| |
| - 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. |
| |
| - New proxy models to enable view-specific sorting and filtering of |
| data displayed using item views. |
| |
| - 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. |
| |
| Qt Designer |
| ----------- |
| |
| - Added support for editing menu bars and tool bars. |
| |
| - Added support for adding comments to string properties. |
| |
| - Added new static QtForm library with improved |
| QForm::Loader 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". |
| |
| 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. |
| |
| - QSortingProxyModel |
| The QSortingProxyModel can contain another model and handles |
| the sorting of it. |
| |
| - QFilteringProxyModel |
| Allows you to provide a subset of a model to a view. |
| |
| - 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 toULong(). |
| |
| - QFileDialog |
| 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(). |
| |
| - 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) |
| - Indeterminate (busy) progress bars are now animated properly |
| in all styles. |
| |
| 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: |
| |
| - Improved support for the VoiceOver accessibility tool in Mac OS 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 |