+ −
Qt 2.2 introduces new features as well as many improvements over the+ −
2.1.x series. This file will only give an overview of the main changes+ −
since version 2.1. A complete list would simply be too large to be+ −
useful. For more detail see the online documentation which is+ −
included in this distribution, and also available on+ −
http://qt.nokia.com/doc/+ −
+ −
The Qt version 2.2 series is binary compatible with the 2.1.x and+ −
2.0.x series - applications compiled for 2.0 or 2.1 will continue to+ −
run with 2.2.+ −
+ −
As with previous Qt releases, the API and functionality of Qt is+ −
completely portable between Microsoft Windows and X11. It is also+ −
portable between Windows 95, 98, NT and 2000.+ −
+ −
****************************************************************************+ −
* Overview *+ −
****************************************************************************+ −
+ −
The greatest new feature in the 2.2 release is the Qt Designer, a+ −
visual GUI design tool. It makes it possible to cut down on+ −
development time even further through WYSIWYG dialog design. The+ −
designer makes use of improved runtime flexibility and a revised+ −
property system. Please see $QTDIR/doc/html/designer.html for a+ −
feature overview.+ −
+ −
Qt 2.2 integrates now fully on MS-Windows 2000. This includes fade+ −
and scroll effects for popup windows and title bar gradients for MDI+ −
document windows in the MDI module. As with all Qt features, we+ −
provide the same visual effects on Unix/X11.+ −
+ −
Two new classes QAction and QActionGroup make it much easier to+ −
create sophisticated main windows for today's applications. A QAction+ −
abstracts a user interface action that can appear both in menus and+ −
tool bars. An action group makes it easier to deal with groups of+ −
actions. It allows to add, remove or activate its children with a+ −
single call and provides "one of many" semantics for toggle+ −
actions. Changing an action's properties, for example using+ −
setEnabled(),setOn() or setText(), immediately shows up in all+ −
representations.+ −
+ −
Few people consider the original OSF Motif style the most elegant or+ −
flashy GUI style. Therefore several attempts have been made to come up+ −
with a slightly improved Motif-ish look and feel. One of them is the+ −
thinner CDE style, that was supported by Qt since version 2.0. In the+ −
2.2 release, we now added support for SGI's very own Motif version on+ −
IRIX workstations. With its more elegant bevelling of 3D elements and+ −
mouse-under highlight effects, it is quite appealing. For Linux users,+ −
we added a Motif plus style, that resembles the bevelling used by the+ −
GIMP toolkit (GTK+). Optionally, this style also does hovering+ −
highlight on buttons.+ −
+ −
Last but not least we added support for multi-threaded+ −
applications. The classes involved are QThread to start threads,+ −
QMutex to serialize them and QCondition to signal the occurrence of+ −
events between threads ("condition variables").+ −
+ −
Another major change was done regarding distribution. In order to+ −
address the steady growth of functionality in the Qt library, we+ −
split the source code into distinct modules that can be compiled+ −
in (or left out) separately. This also makes it possible for us to+ −
keep the cost of entry into the commercial Qt world as low as possible.+ −
+ −
The modules available in Qt 2.2 are:+ −
+ −
- Tools: platform-independent Non-GUI API for I/O, encodings, containers,+ −
strings, time & date, and regular expressions.+ −
+ −
- Kernel: platform-independent GUI API, a complete window-system API.+ −
+ −
- Widgets: portable GUI controls.+ −
+ −
- Dialogs: ready-made common dialogs for selection of colors, files,+ −
printers, fonts, and basic types, plus a wizard framework, message+ −
boxes and progress indicator.+ −
+ −
- OpenGL 3D Graphics: integration of OpenGL with Qt, making it very+ −
easy to use OpenGL rendering in a Qt application.+ −
+ −
- Network: advanced socket and server-socket handling plus+ −
asynchronous DNS lookup.+ −
+ −
- Canvas: a highly optimized 2D graphic area.+ −
+ −
- Table: a flexible and editable table widget+ −
+ −
- IconView: a powerful visualization widget similar to QListView and+ −
QListBox. It contains optionally labelled pixmap items that the user+ −
can select, drag around, rename, delete and more.+ −
+ −
- XML: a well-formed XML parser with SAX interface plus an+ −
implementation of the DOM Level1+ −
+ −
- Workspace: a workspace window that can contain decorated document+ −
windows for Multi Document Interfaces (MDI).+ −
+ −
+ −
Network, Canvas, Table and XML are entirely new modules.+ −
+ −
Below is a list of the major new features in existing classes as well+ −
as short descriptions of all new classes.+ −
+ −
+ −
****************************************************************************+ −
* New major features in existing classes *+ −
****************************************************************************+ −
+ −
QApplication: - "global strut", an adjustable minimum size for interactable+ −
control elements like the entries in a listbox, useful for+ −
touch-screens. Popup window effects ( setEffectEnabled() )+ −
and more threading support ( guiThreadTaken(), lock(),+ −
unlock(), locked() ).+ −
+ −
QCheckBox: - "tristate" is now a property.+ −
+ −
QClipboard: - text() supports subtypes.+ −
+ −
QComboBox: - "editable" is now a property that is changeable at runtime+ −
+ −
QDialog: - support for extensible dialogs ("More...") with+ −
setExtension() and setOrientation(). Optional size grip.+ −
+ −
QFont: - new functions styleStrategy() and setStyleHint()+ −
+ −
QIconSet: - new constructor that takes both a small and a large pixmap+ −
+ −
QKeyEvent: - numeric keypad keys now set a Keypad flag+ −
+ −
QLabel: - support for scaled pixmap contents, "pixmap" as property+ −
+ −
QLayout: - improved flexibility with setEnabled(), access to the+ −
laid out menu bar with menuBar().+ −
+ −
QListView: - "showSortIndicator" as property. New function+ −
QListViewItem::moveItem() to simplify drag and drop.+ −
+ −
QMovie: - new functions pushSpace(), pushData(), frameImage()+ −
+ −
QMultiLineEdit: - new functions pasteSubType() and copyAvailable()+ −
+ −
QObject: - new function normalizeSignalSlot(), tr() now supports a comment.+ −
+ −
QPicture: - streaming to and from QDataStream+ −
+ −
QPopupMenu: - new signal aboutToHide()+ −
+ −
QRegExp: - new functions setPattern() and find()+ −
+ −
QRegion: - new function setRects()+ −
+ −
QScrollView: - new property "staticBackground" to define a pixmap+ −
background that does not scroll with the contents.+ −
+ −
QStatusBar: - "sizeGripEnabled" as property+ −
+ −
QStyle: - themable menu bars with drawMenuBarItem(). New functions+ −
buttonMargin(), toolBarHandleExtent(), sliderThickness()+ −
+ −
QTabWidget: - new functions currentPageIndex(), setCurrentPage(), new+ −
signal currentChanged(). Similar extensions to QTabBar+ −
and QTabDialog+ −
+ −
QTranslator: - new algorithmen for faster lookup. No more risk of+ −
"hash collisions" when many translators are loaded.+ −
+ −
QVariant: - new subtype QSizePolicy. Necessary for QWidget's+ −
new sizePolicy property.+ −
+ −
QWidget: - new properties "sizePolicy", "ownPalette", "ownFont",+ −
"ownCursor" and "hidden". The size policy is now adjustable+ −
at runtime with setSizePolicy(). Added convenience slot+ −
setDisabled(). Fast geometry mapping functions mapTo() and+ −
mapFrom(). On X11, support for a new background mode+ −
X11ParentRelative.+ −
+ −
QWizard: - runtime changable titles with setTitle(), new signal+ −
selected()+ −
+ −
QWorkspace: - support for more widget flags like WType_Tool. Titlebar+ −
blending effects on MS-Windows 98/2000.+ −
+ −
+ −
****************************************************************************+ −
* New classes *+ −
****************************************************************************+ −
+ −
QAction - Abstracts a user interface action that can appear both in+ −
menus and tool bars. Changing an action's properties, for+ −
example using setEnabled(),setOn() or setText(),+ −
immediately shows up in all representations.+ −
+ −
QActionGroup - Combines actions to a group. An action group makes it easier+ −
to deal with groups of actions. It allows to add, remove or+ −
activate its children with a single call and provides+ −
"one of many" semantics for toggle actions.+ −
+ −
QDial - A rounded rangecontrol (like a speedometer or+ −
potentiometer). Both API- and UI-wise the dial is very+ −
similar to a QSlider.+ −
+ −
QDom - [XML Module] DOM Level 1 Tree+ −
+ −
QMotifPlusStyle - This class implements a Motif-ish look and feel with more+ −
sophisticated bevelling as used by the GIMP toolkit (GTK+)+ −
for Unix/X11.+ −
+ −
QMutex: - Provides access serialization between threads.+ −
+ −
QSemaphore: - A robust integer semaphore. Another way of thread+ −
serialization.+ −
+ −
QThread - Baseclass for platform-independent threads.+ −
+ −
QWaitCondition - Provides signalling of the occurrence of events between+ −
threads ("condition variables")+ −
+ −
QCanvas - [Canvas Module] a highly optimized 2D graphic area.+ −
+ −
QTable - [Table Module] a flexible and editable table widget+ −
+ −
QXML - [XML Module] XML parser with SAX interface+ −
+ −