38be0d1383
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
224 lines
8.7 KiB
Plaintext
224 lines
8.7 KiB
Plaintext
|
|
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
|
|
|