summaryrefslogtreecommitdiffstats
path: root/doc/src/qt4-intro.qdoc
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2009-03-23 09:18:55 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-03-23 09:18:55 (GMT)
commite5fcad302d86d316390c6b0f62759a067313e8a9 (patch)
treec2afbf6f1066b6ce261f14341cf6d310e5595bc1 /doc/src/qt4-intro.qdoc
downloadQt-e5fcad302d86d316390c6b0f62759a067313e8a9.zip
Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.gz
Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.bz2
Long live Qt 4.5!
Diffstat (limited to 'doc/src/qt4-intro.qdoc')
-rw-r--r--doc/src/qt4-intro.qdoc641
1 files changed, 641 insertions, 0 deletions
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
new file mode 100644
index 0000000..cd66c10
--- /dev/null
+++ b/doc/src/qt4-intro.qdoc
@@ -0,0 +1,641 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt4-intro.html
+ \title What's New in Qt 4
+
+ \startpage index.html Qt Reference Documentation
+ \nextpage The Tulip Container Classes
+
+ This document covers the most important differences between Qt 3
+ and Qt 4. Although it is not intended to be a comprehensive
+ porting guide, it tells you about the most important portability
+ issues that you may encounter. It also explains how to turn on Qt
+ 3 compatibility support.
+
+ \tableofcontents
+
+ \section1 New Technologies in Qt 4
+
+ Qt 4 introduces the following core technologies:
+
+ \list
+ \o \l{The Tulip Container Classes}{Tulip}, a new set of template container classes.
+
+ \o \l{The Interview Framework}{Interview}, a model/view architecture for item views.
+
+ \o \l{The Arthur Paint System}{Arthur}, the Qt 4 painting framework.
+
+ \o \l{The Scribe Classes}{Scribe}, the Unicode text renderer with a public API
+ for performing low-level text layout.
+
+ \o \l{The Qt 4 Main Window Classes}{Mainwindow}, a modern action-based
+ mainwindow, toolbar, menu, and docking architecture.
+
+ \o The new \l{The New Qt Designer}{\QD} user interface design tool.
+ \endlist
+
+ \section1 Recent Additions to Qt 4
+
+ The following features have been added to Qt since the first release of Qt 4:
+
+ In Qt 4.4:
+ \list
+ \o \l{QtWebkit Module}{Qt WebKit integration}, making it possible for developers
+ to use a fully-featured Web browser to display documents and access online
+ services.
+ \o A multimedia API provided by the \l{Phonon Overview}{Phonon Multimedia Framework}.
+ \o \l{QtXmlPatterns Module}{XQuery and XPath} support, providing facilities for
+ XML processing beyond that supported by the QtXml module.
+ \o Support for embedded widgets in \l{Graphics View} scenes.
+ \o The \l{Threading and Concurrent Programming}{QtConcurrent framework} for
+ concurrent programming using Qt paradigms and threading features.
+ \o An \l{QtHelp Module}{improved help system} that can be used in conjunction
+ with Qt Assistant or as an independent help resource manager.
+ \o Printing system improvements, including the QPrinterInfo, QPrintPreviewWidget
+ and QPrintPreviewDialog classes.
+ \o Support for \l{Windows CE - Introduction to using Qt}{Qt for Windows CE} as
+ a mainstream Qt platform.
+ \o Improvements in performance of Qt for Embedded Linux and extended support for
+ display hardware.
+ \endlist
+
+ In Qt 4.3:
+ \list
+ \o Support for different \l{The Qt 4 Main Window Classes}{main window paradigms and styles},
+ such as those found in Visual Studio or KDevelop.
+ \o The \l{QtScript} module, providing support for application scripting with ECMAScript.
+ \o Improved graphics features, including an experimental Direct3D paint engine
+ and improved provision for hardware accelerated rendering with OpenGL, and
+ support for OpenGL ES in Qt for Embedded Linux.
+ \o \l{QSvgGenerator}{Scalable Vector Graphics (SVG) export}, allowing SVG drawings to
+ be created using the standard QPainter API.
+ \o Support for arbitrary matrix transformations and set operations on painter paths.
+ \o Native look and feel on Windows Vista; improved look and feel on Mac OS X.
+ \o An improved \l{QMdiArea}{Multiple Document Interface (MDI)} implementation.
+ \o Continuous improvements to \QD, including support for
+ \l{Qt Designer's Widget Editing Mode#The Property Editor}{dynamic properties}.
+ \o Support for Secure Socket Layer (SSL) communications via the QSslSocket class.
+ \o Support for XML Localization Interchange File Format (XLIFF) files in \QL.
+ \o A new font subsystem for Qt for Embedded Linux.
+ \endlist
+
+ In Qt 4.2:
+ \list
+ \o The \l{Graphics View} framework for producing interactive graphics.
+ \o \l{Desktop Integration}{Desktop integration} facilities for applications.
+ \o \l{Qt Style Sheets} enable easy, yet powerful customization of
+ user interfaces.
+ \o Support for the \l{intro-to-dbus.html}{D-Bus} Inter-Process Communication (IPC) and Remote Procedure Calling (RPC) mechanism.
+ \o An \l{Undo Framework}{Undo framework} based on the
+ \l{Books about GUI Design#Design Patterns}{Command pattern}.
+ \o Support for model-based \l{QCompleter}{text completion} in standard and
+ custom widgets.
+ \o New widgets and GUI features, such as QCalendarWidget and
+ QGLFramebufferObject.
+ \o Classes to provide higher level application infrastructure, such as
+ QFileSystemWatcher and QDataWidgetMapper.
+ \endlist
+
+ In Qt 4.1:
+ \list
+ \o Integrated support for rendering
+ \l{The Arthur Paint System#SVG Rendering Support}{Scalable Vector Graphics}
+ (SVG) drawings and animations.
+ \o Support for
+ \l{QWidget#Transparency and Double Buffering}{child widget transparency}
+ on all platforms.
+ \o A Portable Document Format (PDF) backend for Qt's printing system.
+ \o A \l{QTestLib Manual}{unit testing framework} for Qt applications and
+ libraries.
+ \o Modules for \l{QtDesigner}{extending \QD} and
+ \l{QtUiTools}{dynamic user interface building}.
+ \o New \l{Proxy Models}{proxy models} to enable view-specific sorting and
+ filtering of data displayed using item views.
+ \o Support for \l{Installing Qt on Mac OS X}{universal binaries} on Mac OS X.
+ \o Additional features for developers using \l{QtOpenGL}{OpenGL}, such as
+ support for pixel and sample buffers.
+ \o A flexible \l{QSyntaxHighlighter}{syntax highlighting class} based on the
+ \l{Scribe} rich text framework.
+ \o Support for \l{QNetworkProxy}{network proxy} servers using the SOCKS5
+ protocol.
+ \o Support for OLE verbs and MIME data handling in \l{ActiveQt}.
+ \endlist
+
+ For more information about improvements in the current release, see
+ the \l{http://www.qtsoftware.com/developer/changes/changes-4.1.4/}
+ {detailed list of changes}.
+
+ \section1 Significant Improvements
+
+ The following modules have been significantly improved for Qt 4:
+
+ \list
+ \o A fully cross-platform \l{accessibility}
+ module, with support for the emerging SP-API Unix standard in
+ addition to Microsoft and Mac Accessibility.
+ \o The \l{qt4-sql.html}{SQL module}, which is now based on the
+ Interview model/view framework.
+ \o The \l{qt4-network.html}{network module}, with better support
+ for UDP and synchronous sockets.
+ \o The \l{qt4-styles.html}{style API}, which is now decoupled from
+ the widgets, meaning that you can draw any user interface element on
+ any device (widget, pixmap, etc.).
+ \o Enhanced \l{qt4-threads.html}{thread support}, with signal-slot
+ connections across threads and per-thread event loops.
+ \o A new \l{resource system} for embedding images
+ and other resource files into the application executable.
+ \endlist
+
+ \section1 Build System
+
+ Unlike previous Qt releases, Qt 4 is a collection of smaller
+ libraries:
+
+ \table
+ \header \o Library \o Description
+ \row \o \l{QtCore} \o Core non-GUI functionality
+ \row \o \l{QtGui} \o Core GUI functionality
+ \row \o \l{QtNetwork} \o Network module
+ \row \o \l{QtOpenGL} \o OpenGL module
+ \row \o \l{QtSql} \o SQL module
+ \row \o \l{QtSvg} \o SVG rendering classes
+ \row \o \l{QtXml} \o XML module
+ \row \o \l{Qt3Support} \o Qt 3 support classes
+ \row \o \l{QAxContainer} \o ActiveQt client extension
+ \row \o \l{QAxServer} \o ActiveQt server extension
+ \row \o \l{QtAssistant} \o Classes for launching Qt Assistant
+ \row \o \l{QtDesigner} \o Classes for extending and embedding Qt Designer
+ \row \o \l{QtUiTools} \o Classes for dynamic GUI generation
+ \row \o \l{QtTest} \o Tool classes for unit testing
+ \endtable
+
+ QtCore contains tool classes like QString, QList, and QFile, as
+ well as kernel classes like QObject and QTimer. The QApplication
+ class has been refactored so that it can be used in non-GUI
+ applications. It is split into QCoreApplication (in \l QtCore)
+ and QApplication (in \l QtGui).
+
+ This split makes it possible to develop server applications using Qt
+ without linking in any unnecessary GUI-related code and without
+ requiring GUI-related system libraries to be present on the target
+ machine (e.g. Xlib on X11, Carbon on Mac OS X).
+
+ If you use qmake to generate your makefiles, qmake will by default
+ link your application against QtCore and QtGui. To remove the
+ dependency upon QtGui, add the line
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 0
+
+ to your .pro file. To enable the other libraries, add the line
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 1
+
+ Another change to the build system is that moc now understands
+ preprocessor directives. qmake automatically passes the defines set
+ for your project (using "DEFINES +=") on to moc, which has its own
+ built-in C++ preprocessor.
+
+ To compile code that uses .ui files, you will also need this line in
+ the .pro file:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 2
+
+ \section1 Include Syntax
+
+ The syntax for including Qt class definitions has become
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 3
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 4
+
+ This is guaranteed to work for any public Qt class. The old syntax,
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 5
+
+ still works, but we encourage you to switch to the new syntax.
+
+ If you attempt to include a header file from a library that isn't
+ linked against the application, this will result in a
+ compile-time warning (e.g., "QSqlQuery: No such file or
+ directory"). You can remedy to this problem either by removing
+ the offending include or by specifying the missing library in the
+ QT entry of your \c .pro file (see \l{Build System} above).
+
+ To include the definitions for all the classes in a library, simply
+ specify the name of that library. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 6
+
+ \section1 Namespaces
+
+ Qt 2 introduced a class called Qt for global-like constants
+ (e.g., \c{Qt::yellow}). The C++ namespace construct was not used
+ because not all compilers understood it when it was released.
+
+ With Qt 4, the Qt class has become the Qt namespace. If you want
+ to access a constant that is part of the Qt namespace, prefix it
+ with \c Qt:: (e.g., \c{Qt::yellow}), or add the directive
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 7
+
+ at the top of your source files, after your \c #include
+ directives. If you use the \c{using namespace} syntax you don't
+ need the prefix (e.g., \c yellow is sufficient).
+
+ When porting Qt 3 applications, you may run into some source
+ compatibility problems with some of these symbols. For example,
+ in Qt 3, it was legal to write \c QWidget::yellow instead of \c
+ Qt::yellow, because QWidget inherited from Qt. This won't work in
+ Qt 4; you must write \c Qt::yellow or add the "using namespace"
+ directive and drop the \c Qt:: prefix.
+
+ The \l{qt3to4 - The Qt 3 to 4 Porting Tool}{qt3to4} porting tool
+ automates this conversion.
+
+ \section1 QObject/QWidget Constructors
+
+ In Qt 4 we have tried to simplify the constructors of QObject/QWidget
+ subclasses. This makes subclassing easier, at the same time as it
+ helps make the Qt library more efficient.
+
+ Constructors no longer take a "const char *name" parameter. If
+ you want to specify a name for a QObject, you must call
+ QObject::setObjectName() after construction. The object name is
+ now a QString. The reasons for this change are:
+
+ \list
+ \o Code that used it looked confusing, for example:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 8
+
+ \c label1 is a QLabel that displays the text "Hello"; \c
+ label2 is a QLabel with no text, with the object name
+ "Hello".
+
+ \o From surveys we did, most users didn't use the name, although
+ they blindly followed Qt's convention and provided a "const
+ char *name" in their subclasses's constructors. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 9
+
+ \o The name parameter was in Qt since version 1, and it always
+ was documented as: "It is not very useful in the current
+ version of Qt, but it will become increasingly important in
+ the future." Ten years later, it still hasn't fulfilled its
+ promise.
+ \endlist
+
+ QWidget's \c WFlags data type has been split in two:
+ Qt::WindowFlags specifies low-level window flags (the type of
+ window and the frame style), whereas Qt::WidgetAttribute
+ specifies various higher-level attributes about the widget (e.g.,
+ WA_StaticContents). Widget attributes can be set at any time
+ using QWidget::setAttribute(); low-level window flags can be
+ passed to the QWidget constructor or set later using
+ QWidget::setParent(). As a consequence, the constructors of most
+ QWidget subclasses don't need to provide a \c WFlags parameter.
+
+ The \e parent parameter of all QObject classes in Qt defaults to
+ a 0 pointer, as it used to do in Qt 1. This enables a style of
+ programming where widgets are created without parents and then
+ inserted in a layout, at which point the layout automatically
+ reparents them.
+
+ \section1 Dynamic Casts
+
+ Qt 4 provides a qobject_cast<>() function that performs a dynamic cast
+ based on the meta-information generated by moc for QObject
+ subclasses. Unlike the standard C++ dynamic_cast<>() construct,
+ qobject_cast<>() works even when RTTI is disabled, and it works correctly
+ across DLL boundaries.
+
+ Here's the Qt 3 idiom to cast a type to a subtype:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 10
+
+ The Qt 4 idiom is both cleaner and safer, because typos will always
+ result in compiler errors:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 11
+
+ \section1 QPointer<T>
+
+ The QPointer<T> class provides a pointer to type T (where T inherits
+ from QObject) that is automatically set to 0 when the referenced
+ object is destroyed. Guarded pointers are useful whenever you want to
+ store a pointer to an object you do not own.
+
+ Example:
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 12
+
+ QPointer<T> is more or less the same as the old QGuardedPtr<T> class,
+ except that it is now implemented in a much more lightweight manner
+ than before. The cost of one QPointer<T> object is now approximately
+ the same as that of a signal--slot connection.
+
+ \section1 Paint Events
+
+ Qt 4 supports double buffering transparently on all platforms. This
+ feature can be turned off on a per-widget basis by calling
+ QWidget::setAttribute(Qt::WA_PaintOnScreen).
+
+ A consequence of this is that all painting must now be done from the
+ paintEvent() function. This is also required by the HIView API on Mac
+ OS X. In practice, this is seldom a problem, since you can call
+ update() from anywhere in your code to create a paint event, with the
+ region to update as the argument.
+
+ To help porting, QWidget supports a Qt::WA_PaintOutsidePaintEvent
+ attribute that can be set to make it possible to paint outside
+ \l{QWidget::paintEvent()}{paintEvent()} on Windows and X11.
+
+ \section1 Qt 3 Support Layer
+
+ Qt 4 provides an extension library that applications based on Qt 3,
+ called Qt3Support, that Qt applications can link against. This allows
+ for more compatibility than ever before, without bloating Qt.
+
+ \list
+ \o Classes that have been replaced by a different class with the
+ same name, such as QListView, and classes that no longer exist in Qt 4
+ are available with a \c 3 in their name (e.g., Q3ListView, Q3Accel).
+
+ \o Other classes provide compatibility functions. Most of these are
+ implemented inline, so that they don't bloat the Qt libraries.
+ \endlist
+
+ To enable the Qt 3 support classes and functions, add the line
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 13
+
+ to your \c .pro file.
+
+ On Visual C++ 7 and GCC 3.2+, using compatibility functions often results
+ in a compiler warning (e.g., "'find' is deprecated"). If you want to turn
+ off that warning, add the line
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 14
+
+ to your \c .pro file.
+
+ If you want to use compatibility functions but don't want to link
+ against the Qt3Support library, add the line
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 15
+
+ or
+
+ \snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 16
+
+ to your \c .pro file, depending on whether you want compatibility
+ function calls to generate compiler warnings or not.
+*/
+
+/*!
+ \page qt4-5-intro.html
+ \title What's New in Qt 4.5
+
+ Qt 4.5 provides many improvements and enhancements over the previous releases
+ in the Qt 4 series. This document covers the most important features in this
+ release, separated by category.
+
+ A comprehensive list of changes between Qt 4.4 and Qt 4.5 is included
+ in the \c changes-4.5.0 file
+ \l{http://www.qtsoftware.com/developer/changes/changes-4.5.0}{available online}.
+ A \l{Known Issues in %VERSION%}{list of known issues} for this release is also
+ available.
+ \omit
+ Changes between this release and the previous release are provided
+ in the \c{changes-%VERSION%} file (also
+ \l{http://www.qtsoftware.com/developer/changes/changes-%VERSION%}{available online}).
+ \endomit
+
+ A list of other Qt 4 features can be found on the
+ \bold{\l{What's New in Qt 4}} page.
+
+ \bold{Highlights}
+
+ \tableofcontents
+
+ \section1 Qt WebKit Integration
+
+ \image webkit-netscape-plugin.png
+
+ The WebKit browser engine included with Qt has been upgraded to the latest
+ upstream (trunk) version of WebKit, bringing the latest features and
+ improvements to Qt applications. These include:
+
+ \list
+ \o Support for full page zooming, with appropriate rescaling of images and fonts.
+ \o The CSS-based transformation and animation features provided by a WebKit
+ extension.
+ \o Performance improvements due to faster JavaScript engine and optimized
+ page loading.
+ \endlist
+
+ Standards compatibility improvements include provision for the Netscape plugin
+ API, allowing most Netscape plugins to be used in-process, support for HTML 5
+ audio and video elements using Qt's Phonon integration, and
+ \l{Web Application Support}{facilities for client-side storage of Web content}.
+
+ \section1 Performance Improvements
+
+ The introduction of the QtBenchLib performance benchmarking library enables
+ performance benchmarking and regression testing. Core parts of Qt itself have
+ undergone focused re-engineering for improved graphics performance, including
+ paint engine and text rendering improvements, Graphics View and style sheet
+ performance improvements.
+
+ The X11 paint engine now uses XSHM (the X shared memory extension), resulting
+ in reduced overhead for painting operations.
+
+ A new OpenGL ES 2.0-based paint engine complements the existing OpenGL paint
+ engine, but with a focus on embedded devices.
+
+ Qt now features a pluggable graphics system, making it possible for users
+ and developers to select raster, OpenGL or native graphics systems to take
+ into account the specific needs of their applications and get the best
+ performance out of them.
+
+ \section1 Mac OS X Cocoa Support
+
+ \image mac-cocoa.png
+
+ Qt for Mac OS X has been substantially rewritten to use Apple's Cocoa API,
+ enabling Qt applications to be deployed on 64-bit Macintosh hardware.
+ In addition, the new QMacCocoaViewContainer and QMacNativeWidget classes
+ provide integration with Cocoa's own features and controls.
+
+ For many applications, a simple recompilation is all that is required
+ to produce an executable for 64-bit systems. Applications that use
+ specific features may require a few changes first.
+
+ \section1 Windows CE Feature Parity
+
+ Qt for Windows CE has been updated to bring features of Qt 4.4 and Qt 4.5
+ to the Windows CE platform, including:
+
+ \list
+ \o Phonon Multimedia Framework, using a Direct-Show based backend for audio
+ and video playback and a Simple WaveOut backend for devices without DirectShow.
+ \o The inclusion of Qt WebKit integration features previously unavailable for
+ Qt 4.4 on Windows CE.
+ \endlist
+
+ Support on all Windows CE platforms; recommended for WinCE 6 and higher.
+
+ The inclusion of these features enables developers to easily integrate Web and
+ multimedia content into Qt applications on Windows CE Standard Edition while
+ retaining full cross-platform compatibility with other Qt platforms.
+
+ \section1 XML Transformations with XSLT
+
+ The QtXmlPatterns module has been extended to cover XSLT, a transformation language
+ for XML documents. A common application of this is the transformation of XML data
+ into human-readable formats for reporting purposes.
+
+ XSLT makes it simple to reformat XML content without changing data structures,
+ removes the need for an intermediate DOM layer for presentation, and enables
+ rapid solutions to be created; for example, creating reports as HTML or PDF.
+
+ \section1 Qt Script Debugger
+
+ \image qtscript-debugger-small.png
+
+ Developers using Qt Script in their applications can take advantage of
+ the new \l{Qt Script Debugger Manual}{Qt Script Debugger} to provide
+ error reporting for scripts, and to let users track down bugs in their
+ own scripts.
+
+ Many standard features of GUI debugging tools are present, allowing the
+ developer to step through running script code, inspect variables,
+ automatically catch exceptions, and set conditional breakpoints.
+
+ \section1 OpenDocument File Format Support
+
+ Qt 4.5 includes support for writing rich text documents as OpenDocument files via
+ the newly-introduced QTextDocumentWriter class. This provides an generic mechanism
+ for file export that can be used to introduce support for additional formats in
+ future releases.
+
+ \section1 Improved Network Proxy Support
+
+ Qt's networking classes have been updated with
+ \l{QtNetwork Module#Support for Network Proxies}{improved proxy support}.
+ This includes improved integration with system proxy settings and the added
+ ability to handle non-trivial proxy cases.
+
+ \section1 Qt Designer Improvements
+
+ \image designer-screenshot-small.png
+
+ Qt Designer 4.5 boasts some improvements on usability, for example:
+
+ \list
+ \o \bold{Icon Mode} for the widget box which substantially reduces
+ scrolling.
+ \o \bold{Morphing Widgets} which lets you morph similar widget types,
+ e.g., a QWidget to a QFrame, types via the context menu's
+ \e{Morph into} entry.
+ \o \bold{Filters} for the \gui{Property Editor} that lets you find
+ properties or widgets quickly.
+ \o \bold{Find option} for the \gui{Object Inspector} that performs an
+ incremental search on the form's widgets. Also, the objects' layout
+ state is displayed here with using an icon on the left. Broken
+ layouts are represented with the same icon used for the
+ \e{Break Layout} action.
+ \endlist
+
+ In addition, Qt Designer now features an \gui{Embedded Design} tab that can
+ be found in the \gui Preferences dialog. Within this tab, you can define
+ embedded device profiles. These profiles contains screen settings, e.g.,
+ display resolution, default font and default style. Qt Designer will use
+ these settings when you edit forms.
+
+ More information about these improvements can be found in the
+ \l{What's New in Qt Designer 4.5} overview.
+
+ \section1 Qt Linguist Improvements
+
+ Qt Linguist can now load and edit multiple translation files simultaneously.
+
+ Support for XML Localization Interchange File Format (XLIFF) files, previously added
+ to the \c lupdate tool in Qt 4.3, has been improved and extended to the rest of the
+ Qt Linguist toolchain. This enables files stored in Qt's TS translation format to
+ be exported for use with other tools.
+
+ The GNU Gettext PO format, which is commonly used in Open Source projects,
+ is now supported by Qt Linguist.
+
+ Support for a new way to annotate messages, using comments in the source code,
+ has been added to the toolchain. See the QObject::tr() documentation for a detailed
+ description and examples.
+
+ The new \c lconvert filter tool facilitates conversion between file formats and
+ can be used to perform other transformations on collections of translatable strings.
+
+ \section1 Graphics Enhancements
+
+ In addition to the performance improvements in this release, a number of graphics
+ enhancements extend support for existing features to more platforms and expand Qt's
+ core set of features with successful add-ons.
+
+ Widget style sheets can now be used on Mac OS X, making this approach to theming
+ and styling viable for truly cross-platform applications.
+
+ Support for ARGB top-level widgets, previously available as a separate solution,
+ is now provided as an integral part of Qt. This makes it possible to create windows
+ with translucent regions on systems with the appropriate support from the user's
+ window system. See the \l{QWidget#Creating Translucent Windows}{Creating Translucent
+ Windows} section of the QWidget documentation for details of this feature.
+
+
+ \image gtk-style-screenshot.png
+
+ Improved GTK+ integration provided by the QGtkStyle class improves the look and feel
+ of Qt applications in GNOME and other GTK-based environments. The screenshot above
+ illustrates this clearly.
+*/