****************************************************************************+ −
* Important Notices *+ −
****************************************************************************+ −
+ −
Meta-Object System+ −
------------------+ −
+ −
Qt 4.0.0 introduced a change to the way type names outside the current+ −
scope were handled in signals and slots declarations and connections+ −
which differed from the behavior in Qt 3.x.+ −
+ −
Unfortunately, this could lead to signal-slot connections that were+ −
potentially type-unsafe. Therefore, in Qt 4.0.1 type names must be fully+ −
qualified in signal-slot declarations and connections.+ −
+ −
For example, in Qt 4.0.0, it was possible to write:+ −
+ −
connect(socket, SIGNAL(error(SocketError)), ...);+ −
+ −
In Qt 4.0.1, the above connection must be made in the following way:+ −
+ −
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), ...);+ −
+ −
+ −
Library+ −
-------+ −
+ −
Support for SGI Altix has been added for both gcc and Intel icc.+ −
+ −
+ −
QX11EmbedContainer and QX11EmbedWidget are now exported classes.+ −
+ −
This change only affects developers using Qt/X11 with gcc >= 4.0 and+ −
symbol visibility enabled. Applications built against Qt 4.0.1 that+ −
use these classes cannot be linked against Qt 4.0.0.+ −
+ −
+ −
****************************************************************************+ −
* Changes *+ −
****************************************************************************+ −
+ −
Qt Designer+ −
-----------+ −
+ −
Fixed crash in designer when using fonts in custom widgets that+ −
don't have a point size set but use a pixel size instead.+ −
+ −
Fixed initial positions of the form windows in the MDI mode.+ −
+ −
Ensured that the object inspector is updated when a page is added+ −
to a widget stack.+ −
+ −
Ensured that the SDK is installed and the library symbols are+ −
exported.+ −
+ −
Fixed crash when breaking a layout after deleting all widgets within.+ −
+ −
Fixed handling of nested action groups.+ −
+ −
Fixed mouse handling to match user expectations on different+ −
platforms.+ −
+ −
Don't change system setting for double click interval.+ −
+ −
Disabled the richtext editor for the "statusTip" property.+ −
+ −
Improved widget handling, loading and saving for QFrame, QTabWidget,+ −
and Q3GroupBox.+ −
+ −
Added a platform-neutral mechanism for saving key sequences.+ −
+ −
Used Qt's list of supported image formats rather than an incomplete+ −
static list.+ −
+ −
Provided a way for plugins to access to the layout of container+ −
widgets.+ −
+ −
Added support for editable byte arrays.+ −
+ −
+ −
Qt Linguist+ −
-----------+ −
+ −
Made lupdate handle cases where the compiler converts strings using+ −
a different codec to that used by lupdate.+ −
+ −
Fixed bug in lupdate and lrelease's .pro file parser.+ −
+ −
Fixed lupdate's octal sequence handling.+ −
+ −
Fixed duplicate context when two contexts have the same hash value.+ −
+ −
+ −
Qt 3 to 4 Porting Tool+ −
----------------------+ −
+ −
Fixed connnect statement that did not work with the new stricter moc.+ −
+ −
Fixed incorrect porting of enum values in switch statements.+ −
+ −
Fixed header file name replacements in include directives.+ −
+ −
+ −
Meta Object Compiler (moc)+ −
--------------------------+ −
+ −
Fixed VC6 compilation of moc generated code with namespaced+ −
superclasses.+ −
+ −
Fixed parsing of functions that throw exceptions.+ −
+ −
Fixed compilation of moc generated code with VC6 when inheriting+ −
from classes inside namespaces.+ −
+ −
Improved the efficiency of signals with default arguments.+ −
+ −
+ −
Qt Assistant+ −
------------+ −
+ −
Fixed the document list for full text search indexing.+ −
+ −
Fixed case sensitive completion in the find dialog combobox.+ −
+ −
Re-enabled the "add content file" option.+ −
+ −
Removed the "General" tab in the settings dialog.+ −
+ −
Fixed registry key handling and deletion of cache files.+ −
+ −
Made it possible to read titles in the tabs in assistant.+ −
+ −
Updated the QAssistantClient documentation.+ −
+ −
Added the QtAssistantClient headers to the other library headers+ −
for installation.+ −
+ −
Fixed full text search for phrases.+ −
+ −
+ −
General Fixes+ −
-------------+ −
+ −
- Dialogs+ −
Removed hard-coded margin and spacing values from built-in+ −
dialogs.+ −
+ −
- QAbstractItemModel+ −
Fixed crash caused by removing an item with expanded children.+ −
Added some more see also links and defined QModelIndexList.+ −
+ −
- QAbstractItemView+ −
Fixed rendering and selection issues with MultiSelection+ −
mode.+ −
Improved handling of persistent editors.+ −
Improved performance of item insertion.+ −
Improved signal handling and emission.+ −
+ −
- QAbstractSlider+ −
Ensured that no changes occur if the orientation doesn't+ −
change in a call to setOrientation().+ −
Introduced better keyboard control for sliders.+ −
Fixed sliderPressed() and sliderReleased() signal emissions.+ −
+ −
- QAbstractSocket+ −
Fixed race condition in connectToHost().+ −
Made bytesAvailable() return the unget buffer size as well+ −
as the size of any pending data.+ −
Made NetworkLayerProtocol non-internal.+ −
+ −
- QAbstractSpinBox+ −
Fixed problems with locale and the "." and "," separators.+ −
Improved handling of extra whitespace at the beginning and+ −
end of user input.+ −
+ −
- QApplication+ −
Made closeAllWindows() respect windows that reject the close+ −
event.+ −
Fixed crash caused by calling QApplication::setStyle()+ −
before a qApp was created.+ −
Improved handling of the last open window for most cases.+ −
Improved event handling.+ −
+ −
- QBezier+ −
Used a new algorithm for offsetting curves.+ −
Improved performance by using a more sophisticated+ −
algorithm and by making QBezier a POD type.+ −
+ −
- QBrush+ −
Improved radial gradient rendering.+ −
+ −
- QColorDialog+ −
Process the return key correctly.+ −
+ −
- QComboBox+ −
Fixed behaviour of setMaxItems() to enable new items to be+ −
inserted within the range allowed.+ −
+ −
- QCommonStyle+ −
Ensured that mnemonics are always shown for buttons.+ −
Fixed position of right corner widget when used on its own.+ −
+ −
- QDateTimeEdit+ −
Improved the range of input allowed for numbers.+ −
+ −
- QDial+ −
Fixed valueChanged() signal emission.+ −
+ −
- QDialog+ −
Fixed Lower QSizeGrip in QDialog instead of raising it.+ −
+ −
- QDir+ −
Fixed relative path handling on Windows.+ −
Reverted empty string matching behavior to match Qt 3's+ −
behavior.+ −
Restored API compatibility with Qt 3.+ −
+ −
- QDirModel+ −
Fixed accidental deletion of directories in read-only mode.+ −
+ −
- QDockWidget+ −
Ensured that the size of a floating dock widget is the same+ −
regardless of how it was floated.+ −
Reintroduced double-clicking behavior to float a dock+ −
widget.+ −
Fixed incorrect moving behavior for floating widgets.+ −
Ensured that dock widgets display a close icon only if they+ −
can be closed.+ −
+ −
- QDockWidgetLayout+ −
See QMainWindow.+ −
+ −
- QDomNodeList+ −
Fixed handling of out-of-range items.+ −
+ −
- QDoubleSpinBox+ −
Improved decimals handling and rounding behavior in+ −
QDoubleSpinBox.+ −
+ −
- QFile+ −
Fixed problems with carriage return and line feed handling+ −
in readLine().+ −
Ensured that pos() returns the correct value if the file+ −
shrinks.+ −
+ −
- QFileDialog+ −
Fixed incorrect behavior where the dialog would go to the+ −
root directory if the user tried to enter a non-existent+ −
directory.+ −
Fixed sorting by type behavior.+ −
+ −
- QFontDatabase+ −
Fixed loading of special fonts.+ −
Fixed sample characters for Chinese scripts.+ −
+ −
- QFontDialog+ −
Switched the locations of the OK and Cancel buttons.+ −
Made items in the font dialog read-only.+ −
Improved handling of the OK and Cancel buttons when the+ −
dialog is in reverse layout mode.+ −
+ −
- QGifHandler+ −
Reintroduced GIF plugin support.+ −
+ −
- QGridLayout+ −
Improved default size handling.+ −
+ −
- QHeaderView+ −
Fixed section hiding behavior.+ −
Fixed Out of bounds error and improper calculation of last+ −
column.+ −
Improved mouse handling and widget updating.+ −
Fixed crashes caused by moving or removing sections, or by+ −
updating the current section.+ −
Improved signal behavior for resized or removed sections.+ −
+ −
- QHttp+ −
Fixed proxy authentication.+ −
Fixed broken behavior when scheduling many requests to+ −
different hosts.+ −
Fixed socket object ownership issues with setSocket() that+ −
could lead to a crash.+ −
+ −
- QImage+ −
Fixed smooth scaling for image formats other than RGB and+ −
ARGB32.+ −
+ −
- QImageReader+ −
Fixed the default implementation of imageCount() to return a+ −
valid number of images.+ −
+ −
- QInputDialog+ −
Switched the locations of the OK and Cancel buttons.+ −
+ −
- QIODevice+ −
Fixed problems with carriage return and line feed handling+ −
in readLine().+ −
Made bytesAvailable() return the unget buffer size as well+ −
as the size of any pending data.+ −
Fixed error handling when reading lines with QFile.+ −
Fixed seek() behavior with regard to the unget buffer.+ −
+ −
- QItemDelegate+ −
Improved layout handling, redrawing, signal emission,+ −
and mouse click behavior.+ −
+ −
- QKeySequence+ −
Fixed accidental HTML escaping of ampersands.+ −
+ −
- QLayout+ −
Print out object names in warnings.+ −
+ −
- QLineEdit+ −
Enabled textChanged() signal emission when using input+ −
methods.+ −
Improved return key press handling for users of the+ −
returnPressed() signal.+ −
Fixed context menu action handling.+ −
Fixed editingFinished() signal emission behavior.+ −
Fixed Ctrl-K and Ctrl-U behavior to cut text rather than+ −
just deleting it.+ −
Fixed line edit selection behavior to maintain any current+ −
selection when the widget receives the keyboard focus.+ −
+ −
- QListView+ −
Improved handling of hidden rows.+ −
Fixed rendering when used in reverse mode.+ −
+ −
- QListWidget+ −
Fixed the size policy for laying out items in the list.+ −
Improved sorting performance.+ −
Fixed persistent index handling when sorting.+ −
+ −
- QMainWindow+ −
Fixed problems with multiple connections from QMainWindow+ −
signals to QToolBar slots.+ −
Fixed dock widget handling (adding a widget to all dock+ −
areas) and incorrect dock area splitting behavior that+ −
could lead to crashes in QMainWindow.+ −
Made QMainWindow's status bar have an "Ignored" horizontal+ −
size policy.+ −
+ −
- QMetaObject+ −
Fixed meta objects that reported far too many enums.+ −
Fixed the behavior of sender() to return the correct value+ −
during queued activation.+ −
+ −
- QMetaType+ −
Fixed whitespace handling in template specialization.+ −
Fixed missing qt_metatype_id implementation for <void *>.+ −
Added more support for compilation with QT_NO_DATASTREAM.+ −
+ −
- QMenu+ −
Fixed keyboard navigation when mouse navigation is also+ −
being used.+ −
Fixed menu bar merging behavior.+ −
+ −
- QMenuBar+ −
Fixed Alt key navigation.+ −
+ −
- QObject+ −
Fixed incorrect exception handling.+ −
+ −
- QPaintEngine+ −
Suppressed warnings when drawing "empty" text.+ −
Fixed rendering of Underline, Overline, and StrikeOut for+ −
text drawn using outlines.+ −
+ −
- QPainter+ −
Improved handling of clip regions when restore() is called.+ −
Improved text drawing performance.+ −
+ −
- QPaintDevice+ −
Allowed construction of QImage before QApplication.+ −
+ −
- QPainterPath+ −
Improved performance and rendering accuracy.+ −
+ −
- QPen+ −
Fixed missing detach in setWidth().+ −
+ −
- QPixmap+ −
Improved drawing speed and mask handling.+ −
+ −
- QPlastiqueStyle+ −
Improved visual feedback for scrollbar page buttons and+ −
slider handle.+ −
Improved Plastique style on non-XRender-enabled displays.+ −
+ −
- QProcess+ −
Fixed endless loop of signal being emitted if model dialog+ −
is used in slot.+ −
Made bytesAvailable() return the unget buffer size as well+ −
as the size of any pending data.+ −
+ −
- QProxyModel+ −
Improved signal handling for propagated signals.+ −
+ −
- QResource+ −
Fixed Latin-1 string handling.+ −
Fixed unloading of resources.+ −
+ −
- QScrollArea+ −
Fixed widget resizing so that widgets that are smaller than+ −
the viewport remain visible.+ −
+ −
- QSettings+ −
Made it possible to store QImage/QPixmap settings.+ −
Fixed race conditions in QSettings with INI files.+ −
Improved handling of non-terminated strings in INI files.+ −
+ −
- QSizeGrip+ −
Made the Qt 3-style constructor public.+ −
+ −
- QSpinBox+ −
Fixed problems with out-of-range integers and doubles.+ −
+ −
- QSqlQueryModel+ −
Fixed integration between QSqlTableModel and MS Access.+ −
Fixed signal emissions for tables with only one row.+ −
+ −
- QSqlTableModel+ −
Fixed problems with multiple record insertion.+ −
+ −
- QStatusBar+ −
Fixed status bar height without size grip.+ −
+ −
- QTabBar+ −
Fixed handling of the current page index when adding the+ −
first page to QTabWidget.+ −
Improved tab bar icon handling to enable icons to be updated+ −
without redrawing the entire tab bar.+ −
+ −
- QTableView+ −
Improved text cursor handling and support for keyboard+ −
modifiers.+ −
Fixed problems with disappearing headers.+ −
Disallowed selection of hidden rows and columns.+ −
Fixed crashes involving empty models and tables with headers+ −
but no rows or columns.+ −
+ −
- QTableWidget+ −
Improved sorting and signal emission behavior.+ −
+ −
- QTabWidget+ −
Fixed handling of the current widget to keep the tab bar+ −
updated.+ −
+ −
- QTextBrowser+ −
Removed temporary visible text selection when activating+ −
anchors with Shift-click.+ −
+ −
- QTextCursor+ −
Fixed selection behavior for words at the beginning of lines.+ −
Fixed incorrect use of character formats when calling+ −
insertFragment().+ −
Fixed incorrect text insertion where line feeds and carriage+ −
returns would not be transformed into Unicode block+ −
separators.+ −
+ −
- QTextDocument+ −
Added support for page breaking.+ −
Added support for relative font sizes.+ −
Added support for <hr /> tags.+ −
Fixed clipboard handling and drag and drop of text frames.+ −
Fixed handling of closing HTML </center> tags.+ −
Fixed crash (failing assertion) on import of nested empty+ −
HTML tables.+ −
Fixed data corruption in fromPlainText().+ −
Corrected the handling of image tags inside anchors.+ −
Fixed introduction of empty spaces or lines before and after+ −
tables.+ −
Fixed misrendering of some nested HTML tables with variable+ −
sized columns.+ −
Fixed crash in table drawing due to out-of-bounds access.+ −
Added support for the pageCountChanged() signal.+ −
Improved performance and size of PostScript images when+ −
printing high resolution or scaled images.+ −
+ −
- QTextEdit+ −
Improved layout and selection handling.+ −
Added configuration support for non-blinking cursors.+ −
Improved keyboard handling.+ −
Improved text insertion handling.+ −
+ −
- QTextFormat+ −
Added support for horizontal rules.+ −
Improved font handling.+ −
+ −
- QTextLayout+ −
Allow line breaking at tabs.+ −
Improved reporting of line widths for lines ending with a+ −
QChar::LineSeparator.+ −
Fixed reporting of the minimum width for layouts that have+ −
NoWrap/ManualWrap as their wrap policy.+ −
+ −
- QTextStream+ −
Fixed locking behavior when reading from stdin.+ −
Fixed seek() behavior.+ −
Improved Latin-1 string handling.+ −
+ −
- QTextTable+ −
Improved performance and selection handling.+ −
+ −
- QToolBar+ −
Fixed toolbar resizing behavior to handle icon size changes.+ −
+ −
- QTreeView+ −
Improved handling of hidden rows, columns, and child items.+ −
Fixed repainting issues with newly inserted child items+ −
and selections.+ −
Improved scrolling behavior.+ −
Fixed crashes involving column handling and empty views.+ −
Fixed sorting indicator behavior.+ −
+ −
- QTreeWidget+ −
Improved item insertion performance.+ −
Fixed clone() and operator=() for QTreeWidgetItem.+ −
Fixed crash when removing or deleting items with children.+ −
Improved sorting performance.+ −
Fixed sorting indicator behavior.+ −
Fixed persistent index handling when sorting.+ −
+ −
- QUrl+ −
Improved the performance of removeDots().+ −
+ −
- QWidget+ −
Fixed problems with adding an action multiple times.+ −
+ −
- QXmlInputSource+ −
Improved heuristics for determining character encodings.+ −
+ −
- Q3FileDialog+ −
Fixed file selection handling.+ −
+ −
+ −
Platform-Specific Issues+ −
------------------------+ −
+ −
Windows:+ −
+ −
- QApplication+ −
Fixed Block modeless elements of client when ActiveX opens a+ −
modal dialog+ −
Enabled tablet support.+ −
Improved event handling for popup widgets.+ −
+ −
- QAxWidget+ −
Support a document site only if the COM object allows proper+ −
initialization with a storage.+ −
+ −
- QFileDialog+ −
Updated to use the latest native Windows dialogs.+ −
+ −
- QProcess+ −
Fixed behavior of forwarded read channels.+ −
+ −
- QSettings+ −
Fixed behavior of childKeys() with respect to the default+ −
key.+ −
+ −
- QWindowsStyle+ −
Fixed menu item size.+ −
Improved drawing of default push buttons.+ −
Fixed rendering of sliders to correctly differentiate+ −
between those in enabled and disabled states.+ −
+ −
- QWindowsXPStyle+ −
Fixed menu frame rendering.+ −
Reduced the space allocate to menu items.+ −
+ −
+ −
X11:+ −
+ −
- QApplication+ −
Fixed incorrect initialization of screen and resolution.+ −
Improved mouse button handling.+ −
Fixed handling of withdrawn windows.+ −
+ −
- QBitmap+ −
Fixed bitmap brush textures to ensure that they use the+ −
correct color with XRender.+ −
+ −
- QFont+ −
Fixed handle() to return useful values.+ −
+ −
- QFontDatabase+ −
Fixed fonts for some writing systems not being loaded on X11+ −
+ −
- QPaintEngine+ −
Fixed multi-screen support.+ −
Improved performance and rendering accuracy.+ −
Fixed dot-dash patterns when drawing with large pen widths.+ −
Improved text rendering on exported displays.+ −
+ −
- QWidget+ −
Implemented support for window opacity.+ −
Added support for widgets with 32 bit sizes.+ −
Improved support for different active and inactive background+ −
brushes.+ −
Fixed window icons on X servers that have truecolor and+ −
pseudocolor visuals with different depths.+ −
Fixed text rendering on exported displays.+ −
+ −
- QXIMInputContext+ −
Fixed crash in XIM code with newer x.org libraries.+ −
Fixed support for switching input method styles.+ −
+ −
- QX11Embed+ −
Exported QX11Embed (see the Important Changes section+ −
above).+ −
Improved handling of non-XEmbed clients.+ −
Improved geometry and focus handling.+ −
+ −
+ −
UNIX:+ −
+ −
- QPageSetupDialog+ −
Reduced the size of the dialog.+ −
+ −
- QPrintDialog+ −
Fixed initialization of color and grayscale radio buttons.+ −
+ −
- QProcess+ −
Fixed incorrect notification of process termination on+ −
Linux kernels up to and including the 2.4 series.+ −
Made QProcess emit an error() when failing to launch a+ −
program.+ −
+ −
+ −
Mac OS X:+ −
+ −
- QApplication+ −
Fixed widgetAt() to handle transparent widgets.+ −
Handle keyboard events in the active window if no focus+ −
window is available.+ −
Changed wheel mouse scrolling speed to match that of+ −
other applications.+ −
+ −
- QComboBox+ −
Fixed rendering of combobox frames.+ −
+ −
- QDnD+ −
Fixed URL handling.+ −
+ −
- QClipboard+ −
Fixed Junk at end of pasted text on Qt/Mac.+ −
+ −
- QCursor+ −
Fixed incorrect pixmap handling.+ −
+ −
- QFileDialog+ −
Fixed sheet modality issues to prevent the dialog from being+ −
hidden behind other windows.+ −
+ −
- QFont+ −
Default to using the Geneva font.+ −
Enable kerning and fix Arabic text handling.+ −
+ −
- QLibraryInfo+ −
Fixed location of qt.conf in Mac OS X bundles.+ −
+ −
- QMacStyle+ −
Improvements to rendering accuracy of comboboxes, tab bars,+ −
workspace windows, tool buttons, and push buttons.+ −
Fixed incorrect drawing of scrollbars with "inverted+ −
appearance".+ −
Fixed font-related crash for applications configured to+ −
use the standard desktop settings.+ −
+ −
- QMenu+ −
Improved menu bar handling on navigation dialogs.+ −
+ −
- QMenuBar+ −
Improved menu bar hiding/wrapping behavior.+ −
+ −
- QPaintDevice+ −
Removed byte order assumptions.+ −
+ −
- QPaintEngine+ −
Improved brush handling, clipping, masking, and tiling+ −
operations.+ −
+ −
- QPixmap+ −
Improvements to pixmap copying and conversion, masking, and+ −
alpha channel handling.+ −
Removed byte order assumptions.+ −
+ −
- QPrintEngine+ −
Made color printing the default behavior.+ −
+ −
- QSettings+ −
Sync the application's setting on construction of a+ −
QSettings object.+ −
+ −
- QSysInfo+ −
Included enum values for Mac OS X codenames in the+ −
MacVersion version enum.+ −
+ −
- QWidget+ −
Improved mouse event handling.+ −
Improved interoperability between modal widgets.+ −
+ −
+ −
Tools+ −
-----+ −
+ −
- uic3+ −
Fixed class name handling when used in "-convert" mode.+ −
Fixed vertical space issues with .ui files converted from+ −
Qt 3 to Qt 4.+ −
Improved support for Qt3Support widgets.+ −
Improved support for deprecated enums.+ −
Added a generator for dependencies in Qt 3 .ui files.+ −
+ −
- rcc+ −
Added better error reporting.+ −
+ −
- uic+ −
Added code generation for tab attributes.+ −
Fixed text codec handling.+ −
Used UTF-8 as the default enconding in .ui files.+ −
Fixed code generation for QWizard.+ −
+ −
+ −
Documentation+ −
-------------+ −
+ −
Porting:+ −
+ −
Removed QMovie from the list of implicitly shared classes that were+ −
previously explicitly shared.+ −
+ −
Added .ui porting document to the 4.0.1 documentation.+ −
+ −
Added sections about QHBox, QVBox, and QGrid to the porting guide.+ −
+ −
Added QImageIO and QMovie to the porting guide.+ −
+ −
Added QRegExp and some QDir functions to the porting guide.+ −
+ −
Added QObject::objectTrees() to the porting guide.+ −
+ −
Added QPopupMenu to the porting guide.+ −
+ −
+ −
General:+ −
+ −
Fix documentation of amortized container behavior.+ −
+ −
Added information about using specific compilers to build Qt.+ −
+ −
Removed QtMotif documentation because it is now part of Qt Solutions.+ −
+ −
Clarify parent-child relationship within QThreads.+ −
+ −
Documented potential file name clashes when using precompiled headers.+ −
+ −
Added a Windows XP gallery.+ −
+ −
Added pages to contain lists of classes for each Commercial Edition.+ −
+ −
Reintroduced the QAssistantClient documentation as part of the+ −
QtAssistant module.+ −
+ −
Added missing Qt Designer API documentation.+ −
+ −
- QApplication+ −
Documented correct use of QApplication::setStyle().+ −
+ −
- QComboBox+ −
Made removeItem() and setRootModelIndex() visible in the+ −
documentation.+ −
+ −
- QMetaObject+ −
Added missing documentation for QGenericArgument and+ −
QGenericReturnArgument, making them visible in the+ −
documentation, but not recommended for casual use.+ −
+ −
- QPainter+ −
Make QPainter::setRedirected() visible and fix its+ −
description.+ −
+ −
- QSqlDatabase+ −
Document what happens when passing an existing connection+ −
name to addDatabase().+ −