|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
**
|
|
|
|
|
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
|
|
|
|
|
**
|
|
|
|
|
** This file is part of the Qt GUI Toolkit.
|
|
|
|
|
** This file is part of the TQt GUI Toolkit.
|
|
|
|
|
**
|
|
|
|
|
** This file may be used under the terms of the GNU General
|
|
|
|
|
** Public License versions 2.0 or 3.0 as published by the Free
|
|
|
|
@ -13,7 +13,7 @@
|
|
|
|
|
** Alternatively you may (at your option) use any later version
|
|
|
|
|
** of the GNU General Public License if such license has been
|
|
|
|
|
** publicly approved by Trolltech ASA (or its successors, if any)
|
|
|
|
|
** and the KDE Free Qt Foundation.
|
|
|
|
|
** and the KDE Free TQt Foundation.
|
|
|
|
|
**
|
|
|
|
|
** Please review the following information to ensure GNU General
|
|
|
|
|
** Public Licensing requirements will be met:
|
|
|
|
@ -39,20 +39,20 @@
|
|
|
|
|
/*!
|
|
|
|
|
\page keyfeatures30.html
|
|
|
|
|
|
|
|
|
|
\title Key Features in Qt 3.0
|
|
|
|
|
\title Key Features in TQt 3.0
|
|
|
|
|
|
|
|
|
|
Qt 3.0 adds a lot of new features and improvements over the Qt 2.x
|
|
|
|
|
Qt 3.0 adds a lot of new features and improvements over the TQt 2.x
|
|
|
|
|
series. Some internals have undergone major redesign and new classes
|
|
|
|
|
and methods have been added.
|
|
|
|
|
|
|
|
|
|
We have tried to keep the API of Qt 3.0 as compatible as possible with
|
|
|
|
|
the Qt 2.x series. For most applications only minor changes will be
|
|
|
|
|
needed to compile and run them successfully using Qt 3.0.
|
|
|
|
|
We have tried to keep the API of TQt 3.0 as compatible as possible with
|
|
|
|
|
the TQt 2.x series. For most applications only minor changes will be
|
|
|
|
|
needed to compile and run them successfully using TQt 3.0.
|
|
|
|
|
|
|
|
|
|
One of the major new features that has been added in the 3.0 release
|
|
|
|
|
is a module allowing you to easily work with databases. The API is
|
|
|
|
|
platform independent and database neutral. This module is seamlessly
|
|
|
|
|
integrated into Qt Designer, greatly simplifying the process of
|
|
|
|
|
integrated into TQt Designer, greatly simplifying the process of
|
|
|
|
|
building database applications and using data aware widgets.
|
|
|
|
|
|
|
|
|
|
\omit
|
|
|
|
@ -61,12 +61,12 @@ to build cross platform components, 'plugins' with Qt.
|
|
|
|
|
\endomit
|
|
|
|
|
Other major new features include a plugin architecture. You can use
|
|
|
|
|
your own and third party plugins your own applications.
|
|
|
|
|
The Unicode support of Qt 2.x has been greatly enhanced, it now
|
|
|
|
|
The Unicode support of TQt 2.x has been greatly enhanced, it now
|
|
|
|
|
includes full support for scripts written from right to left (e.g.
|
|
|
|
|
Arabic and Hebrew) and also provides improved support for Asian
|
|
|
|
|
languages.
|
|
|
|
|
|
|
|
|
|
Many new classes have been added to the Qt Library. Amongst them are
|
|
|
|
|
Many new classes have been added to the TQt Library. Amongst them are
|
|
|
|
|
classes that provide a docking architecture
|
|
|
|
|
(\l{QDockArea}/\l{QDockWindow}), a powerful rich text editor
|
|
|
|
|
(QTextEdit), a class to store and access application settings
|
|
|
|
@ -74,36 +74,36 @@ classes that provide a docking architecture
|
|
|
|
|
(QProcess).
|
|
|
|
|
|
|
|
|
|
Apart from the changes in the library itself a lot has been done to
|
|
|
|
|
make the development of Qt applications with Qt 3.0 even easier than
|
|
|
|
|
before. Two new applications have been added: Qt Linguist is a tool to
|
|
|
|
|
make the development of TQt applications with TQt 3.0 even easier than
|
|
|
|
|
before. Two new applications have been added: TQt Linguist is a tool to
|
|
|
|
|
help you translate your application into different languages; Qt
|
|
|
|
|
Assistant is an easy to use help browser for the Qt documentation that
|
|
|
|
|
Assistant is an easy to use help browser for the TQt documentation that
|
|
|
|
|
supports bookmarks and can search by keyword.
|
|
|
|
|
|
|
|
|
|
Another change concerns the Qt build system, which has been reworked
|
|
|
|
|
to make it a lot easier to port Qt to new platforms. You can use this
|
|
|
|
|
Another change concerns the TQt build system, which has been reworked
|
|
|
|
|
to make it a lot easier to port TQt to new platforms. You can use this
|
|
|
|
|
platform independent build system for your own applications.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\section1 The Qt Library
|
|
|
|
|
\section1 The TQt Library
|
|
|
|
|
|
|
|
|
|
A large number of new features has been added to Qt 3.0. The following
|
|
|
|
|
A large number of new features has been added to TQt 3.0. The following
|
|
|
|
|
list gives an overview of the most important new and changed aspects
|
|
|
|
|
of the Qt library. A full list of every new method follows the
|
|
|
|
|
of the TQt library. A full list of every new method follows the
|
|
|
|
|
overview.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\section2 Database support
|
|
|
|
|
|
|
|
|
|
One of the major new features in Qt 3.0 is the \link sql.html SQL
|
|
|
|
|
One of the major new features in TQt 3.0 is the \link sql.html SQL
|
|
|
|
|
module\endlink that provides multiplatform access to SQL databases,
|
|
|
|
|
making database application programming with Qt seamless and portable.
|
|
|
|
|
making database application programming with TQt seamless and portable.
|
|
|
|
|
The API, built with standard SQL, is database-neutral and software
|
|
|
|
|
development is independent of the underlying database.
|
|
|
|
|
|
|
|
|
|
A collection of tightly focused C++ classes are provided to give the
|
|
|
|
|
programmer direct access to SQL databases. Developers can send raw SQL
|
|
|
|
|
to the database server or have the Qt SQL classes generate SQL queries
|
|
|
|
|
to the database server or have the TQt SQL classes generate SQL queries
|
|
|
|
|
automatically. Drivers for Oracle, PostgreSQL, MySQL and ODBC are
|
|
|
|
|
available and writing new drivers is straightforward.
|
|
|
|
|
|
|
|
|
@ -119,9 +119,9 @@ making it easy for developers to include their own data validation and
|
|
|
|
|
auditing code.
|
|
|
|
|
|
|
|
|
|
Qt Designer fully supports Qt's SQL module. All SQL widgets can be
|
|
|
|
|
laid out within Qt Designer, and relationships can be established
|
|
|
|
|
laid out within TQt Designer, and relationships can be established
|
|
|
|
|
between controls visually. Many interactions can be defined purely in
|
|
|
|
|
terms of Qt's signals/slots mechanism directly in Qt Designer.
|
|
|
|
|
terms of Qt's signals/slots mechanism directly in TQt Designer.
|
|
|
|
|
|
|
|
|
|
\omit
|
|
|
|
|
\section2 Component model - plugins
|
|
|
|
@ -129,11 +129,11 @@ terms of Qt's signals/slots mechanism directly in Qt Designer.
|
|
|
|
|
The QLibrary class provides a platform independent wrapper for runtime
|
|
|
|
|
loading of shared libraries. Access to the shared libraries uses a
|
|
|
|
|
COM-like interface. QPluginManager makes it trivial to implement
|
|
|
|
|
plugin support in applications. The Qt library is able to load
|
|
|
|
|
plugin support in applications. The TQt library is able to load
|
|
|
|
|
additional styles, database drivers and text codecs from plugins which
|
|
|
|
|
implement the relevant interfaces, e.g. QStyleFactoryInterface,
|
|
|
|
|
QSqlDriverInterface or QTextCodecInterface. It is possible to remove
|
|
|
|
|
unused components from the Qt library, and easy to extend any
|
|
|
|
|
unused components from the TQt library, and easy to extend any
|
|
|
|
|
application with 3rd party styles, database drivers or text codecs.
|
|
|
|
|
|
|
|
|
|
Qt Designer supports custom widgets in plugins, and will use the
|
|
|
|
@ -147,7 +147,7 @@ component.
|
|
|
|
|
|
|
|
|
|
The QLibrary class provides a platform independent wrapper for runtime
|
|
|
|
|
loading of shared libraries. QPluginManager makes it trivial to implement
|
|
|
|
|
plugin support in applications. The Qt library is able to load
|
|
|
|
|
plugin support in applications. The TQt library is able to load
|
|
|
|
|
additional styles, database drivers and text codecs from plugins.
|
|
|
|
|
|
|
|
|
|
Qt Designer supports custom widgets in plugins, and will use the
|
|
|
|
@ -158,7 +158,7 @@ See the \link plugins-howto.html plugins documentation\endlink.
|
|
|
|
|
|
|
|
|
|
\section2 Rich text engine and editor
|
|
|
|
|
|
|
|
|
|
The rich text engine originally introduced in Qt 2.0 has been further
|
|
|
|
|
The rich text engine originally introduced in TQt 2.0 has been further
|
|
|
|
|
optimized and extended to support editing. It allows editing formatted
|
|
|
|
|
text with different fonts, colors, paragraph styles, tables and
|
|
|
|
|
images. The editor supports different word wrap modes, command-based
|
|
|
|
@ -169,7 +169,7 @@ and displaying large documents quickly and efficiently.
|
|
|
|
|
|
|
|
|
|
\section2 Unicode
|
|
|
|
|
|
|
|
|
|
Apart from the rich text engine, another new feature of Qt 3.0 that
|
|
|
|
|
Apart from the rich text engine, another new feature of TQt 3.0 that
|
|
|
|
|
relates to text handling is the greatly improved Unicode support. Qt
|
|
|
|
|
3.0 includes an implementation of the bidirectional algorithm (BiDi)
|
|
|
|
|
as defined in the Unicode standard and a shaping engine for Arabic,
|
|
|
|
@ -177,13 +177,13 @@ which gives full native language support to Arabic and Hebrew speaking
|
|
|
|
|
people. At the same time the support for Asian languages has been
|
|
|
|
|
greatly enhanced.
|
|
|
|
|
|
|
|
|
|
The support is almost transparent for the developer using Qt to
|
|
|
|
|
The support is almost transparent for the developer using TQt to
|
|
|
|
|
develop their applications. This means that developers who developed
|
|
|
|
|
applications using Qt 2.x will automatically gain the full support for
|
|
|
|
|
these languages when switching to Qt 3.0. Developers can rely on their
|
|
|
|
|
applications using TQt 2.x will automatically gain the full support for
|
|
|
|
|
these languages when switching to TQt 3.0. Developers can rely on their
|
|
|
|
|
application to work for people using writing systems different from
|
|
|
|
|
Latin1, without having to worry about the complexities involved with
|
|
|
|
|
these scripts, as Qt takes care of this automatically.
|
|
|
|
|
these scripts, as TQt takes care of this automatically.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\section2 Docked and Floating Windows
|
|
|
|
@ -200,7 +200,7 @@ their own right. Dock windows can also be minimized or hidden.
|
|
|
|
|
|
|
|
|
|
For developers, dock windows behave just like ordinary widgets. QToolbar
|
|
|
|
|
for example is now a specialized subclass of a dock window. The API
|
|
|
|
|
of QMainWindow and QToolBar is source compatible with Qt 2.x, so
|
|
|
|
|
of QMainWindow and QToolBar is source compatible with TQt 2.x, so
|
|
|
|
|
existing code which uses these classes will continue to work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -208,7 +208,7 @@ existing code which uses these classes will continue to work.
|
|
|
|
|
|
|
|
|
|
Qt has always provided regular expression support, but that support
|
|
|
|
|
was pretty much limited to what was required in common GUI control
|
|
|
|
|
elements such as file dialogs. Qt 3.0 introduces a new regular
|
|
|
|
|
elements such as file dialogs. TQt 3.0 introduces a new regular
|
|
|
|
|
expression engine, QRegExp, that supports most of Perl's regex
|
|
|
|
|
features and is Unicode based. The most useful additions are support
|
|
|
|
|
for parentheses (capturing and non-capturing) and backreferences.
|
|
|
|
@ -220,7 +220,7 @@ Most programs will need to store some settings between runs, for
|
|
|
|
|
example, user selected fonts, colors and other preferences, or a list
|
|
|
|
|
of recently used files. The new QSettings class provides a platform
|
|
|
|
|
independent way to achieve this goal. The API makes it easy to store
|
|
|
|
|
and retrieve most of the basic data types used in Qt (such as basic
|
|
|
|
|
and retrieve most of the basic data types used in TQt (such as basic
|
|
|
|
|
C++ types, strings, lists, colors, etc). The class uses the registry
|
|
|
|
|
on the Windows platform and traditional resource files on Unix.
|
|
|
|
|
|
|
|
|
@ -228,7 +228,7 @@ on the Windows platform and traditional resource files on Unix.
|
|
|
|
|
\section2 Creating and controlling other processes
|
|
|
|
|
|
|
|
|
|
QProcess is a class that allows you to start other programs from
|
|
|
|
|
within a Qt application in a platform independent manner. It gives you
|
|
|
|
|
within a TQt application in a platform independent manner. It gives you
|
|
|
|
|
full control over the started program, for example you can redirect
|
|
|
|
|
the input and output of console applications.
|
|
|
|
|
|
|
|
|
@ -236,9 +236,9 @@ the input and output of console applications.
|
|
|
|
|
\section2 Accessibility
|
|
|
|
|
|
|
|
|
|
Accessibility means making software usable and accessible to a wide
|
|
|
|
|
range of users, including those with disabilities. In Qt 3.0, most
|
|
|
|
|
range of users, including those with disabilities. In TQt 3.0, most
|
|
|
|
|
widgets provide accessibility information for assistive tools that can
|
|
|
|
|
be used by a wide range of disabled users. Qt standard widgets like
|
|
|
|
|
be used by a wide range of disabled users. TQt standard widgets like
|
|
|
|
|
buttons or range controls are fully supported. Support for complex
|
|
|
|
|
widgets, like e.g. QListView, is in development. Existing applications
|
|
|
|
|
that make use of standard widgets will become accessible just by using
|
|
|
|
@ -246,15 +246,15 @@ Qt 3.0.
|
|
|
|
|
|
|
|
|
|
Qt uses the Active Accessibility infrastructure on Windows, and needs
|
|
|
|
|
the MSAA SDK, which is part of most platform SDKs. With improving
|
|
|
|
|
standardization of accessibility on other platforms, Qt will support
|
|
|
|
|
standardization of accessibility on other platforms, TQt will support
|
|
|
|
|
assistive technologies on other systems, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\section2 XML Improvements
|
|
|
|
|
|
|
|
|
|
The XML framework introduced in Qt 2.2 has been vastly improved. Qt
|
|
|
|
|
The XML framework introduced in TQt 2.2 has been vastly improved. Qt
|
|
|
|
|
2.2 already supported level 1 of the Document Object Model (DOM), a
|
|
|
|
|
W3C standard for accessing and modifying XML documents. Qt 3.0 has
|
|
|
|
|
W3C standard for accessing and modifying XML documents. TQt 3.0 has
|
|
|
|
|
added support for DOM Level 2 and XML namespaces.
|
|
|
|
|
|
|
|
|
|
The XML parser has been extended to allow incremental parsing of XML
|
|
|
|
@ -268,7 +268,7 @@ stage.
|
|
|
|
|
|
|
|
|
|
\section2 SVG support
|
|
|
|
|
|
|
|
|
|
SVG is a W3C standard for "Scalable Vector Graphics". Qt 3.0's XML
|
|
|
|
|
SVG is a W3C standard for "Scalable Vector Graphics". TQt 3.0's XML
|
|
|
|
|
support means that QPicture can optionally generate and import static
|
|
|
|
|
SVG documents. All the SVG features that have an equivalent in
|
|
|
|
|
QPainter are supported.
|
|
|
|
@ -277,7 +277,7 @@ QPainter are supported.
|
|
|
|
|
\section2 Multihead support
|
|
|
|
|
|
|
|
|
|
Many professional applications, such as DTP and CAD software, are able
|
|
|
|
|
to display data on two or more monitors. In Qt 3.0 the QDesktopWidget
|
|
|
|
|
to display data on two or more monitors. In TQt 3.0 the QDesktopWidget
|
|
|
|
|
class provides the application with runtime information about the
|
|
|
|
|
number and geometry of the desktops on the different monitors and such
|
|
|
|
|
allows applications to efficiently use a multi-monitor setup.
|
|
|
|
@ -316,10 +316,10 @@ process. This makes WYSIWYG printing trivial, and also allows you to
|
|
|
|
|
take full advantage of the high resolution of a printer when painting
|
|
|
|
|
on it.
|
|
|
|
|
|
|