Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/doc/src/qt4-intro.qdoc

    r769 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    77** This file is part of the documentation of the Qt Toolkit.
    88**
    9 ** $QT_BEGIN_LICENSE:LGPL$
     9** $QT_BEGIN_LICENSE:FDL$
    1010** Commercial Usage
    1111** Licensees holding valid Qt Commercial licenses may use this file in
    1212** accordance with the Qt Commercial License Agreement provided with the
    13 ** Software or, alternatively, in accordance with the terms contained in
    14 ** a written agreement between you and Nokia.
     13** Software or, alternatively, in accordance with the terms contained in a
     14** written agreement between you and Nokia.
    1515**
    16 ** GNU Lesser General Public License Usage
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
    18 ** General Public License version 2.1 as published by the Free Software
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
    20 ** packaging of this file.  Please review the following information to
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    23 **
    24 ** In addition, as a special exception, Nokia gives you certain additional
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    27 **
    28 ** GNU General Public License Usage
    29 ** Alternatively, this file may be used under the terms of the GNU
    30 ** General Public License version 3.0 as published by the Free Software
    31 ** Foundation and appearing in the file LICENSE.GPL included in the
    32 ** packaging of this file.  Please review the following information to
    33 ** ensure the GNU General Public License version 3.0 requirements will be
    34 ** met: http://www.gnu.org/copyleft/gpl.html.
     16** GNU Free Documentation License
     17** Alternatively, this file may be used under the terms of the GNU Free
     18** Documentation License version 1.3 as published by the Free Software
     19** Foundation and appearing in the file included in the packaging of this
     20** file.
    3521**
    3622** If you have questions regarding the use of this file, please contact
     
    5339    3 compatibility support.
    5440
    55     \tableofcontents
    56 
    5741    \section1 New Technologies in Qt 4
    5842
     
    7761    \section1 Recent Additions to Qt 4
    7862
    79     The following features have been added to Qt since the first release of Qt 4:
     63    The following features have been added to Qt since the first release of Qt 4.
     64
     65    In Qt 4.7:
     66    \list
     67    \o Declarative UI Development with \l{Qt Quick}, technologies for creating
     68       fluid, dynamic user interfaces.
     69    \o Support for \l{Bearer Management}{network bearer management}, enabling
     70       features such as control over network interfaces and support for roaming
     71       between networks.
     72    \o Feature and performance improvements in QtWebKit, including a new tiled
     73       backing store, control over scroll bars used in frames and framesets,
     74       accelerated compositing and \l{The QtWebKit Bridge}{support for hybrid
     75       development}.
     76    \o General performance improvements, including the use of "alien widgets"
     77       on Mac OS X, the QStaticText class for optimized text rendering, a new
     78       \l{QPainter::drawPixmapFragments()}{API for rendering pixmap fragments}
     79       and an updated version of the JavaScriptCore engine for the QtScript
     80       module with improved performance.
     81    \endlist
     82
     83    In Qt 4.6:
     84    \list
     85    \o Support for \l{The Symbian platform - Introduction to Qt}{the Symbian Platform}
     86       as a mainstream Qt platform, with integration into the S60 framework.
     87    \o The \l{The Animation Framework}{animation framework} allows animations to be
     88       created using both widgets and graphics items.
     89    \o The \l{The State Machine Framework}{state machine framework} provides a robust
     90       state chart implementation based on Harel statecharts and SCXML.
     91    \o Support for \l{QTouchEvent}{touch input} and \l{Gestures Programming}{gestures}
     92       enable developers to create intuitive user interfaces for touch-based devices.
     93    \o A \l{QWebElement}{DOM access API} for QtWebKit provides a cleaner and safer way
     94       to access elements and structures of Web pages without the use of JavaScript.
     95    \o A collection of performance improvements, covering QGraphicsView, QPixmapCache,
     96       QNetworkAccessManager, QContiguousCache class, hardware-accelerated rendering
     97       support through \l{OpenVG Rendering in Qt}{OpenVG}, and the removal of Win9x
     98       support.
     99    \o A collection of \l{QGraphicsEffect}{graphics effects} make it easy to apply
     100       and simple effects to graphics items and combine them to produce more complex
     101       effects.
     102    \o Support for XML schema validation in the QtXmlPatterns module covering
     103       large parts of version 1.0 of the specification.
     104    \o Qt3D enablers, including math primitives for \l{QMatrix4x4}{matrix multiplication},
     105       \l{QVector3D}{vectors}, \l{QQuaternion}{quaternions} (client-side), and an API
     106       for \l{QGLShader}{vertex and fragment shaders}, GLSL/ES.
     107    \o \l{QtMultimedia Module}{Multimedia services} providing low-level access to the
     108       system's audio system.
     109    \endlist
    80110
    81111    In Qt 4.5:
     
    103133    In Qt 4.4:
    104134    \list
    105     \o \l{QtWebkit Module}{Qt WebKit integration}, making it possible for developers
     135    \o \l{Webkit in QT}{Qt WebKit integration}, making it possible for developers
    106136    to use a fully-featured Web browser to display documents and access online
    107137    services.
     
    174204    \o New \l{Proxy Models}{proxy models} to enable view-specific sorting and
    175205       filtering of data displayed using item views.
    176     \o Support for \l{Installing Qt on Mac OS X}{universal binaries} on Mac OS X.
     206    \o Support for \l{Installing Qt for Mac OS X}{universal binaries} on Mac OS X.
    177207    \o Additional features for developers using \l{QtOpenGL}{OpenGL}, such as
    178208    support for pixel and sample buffers.
     
    226256    \row    \o \l{QAxContainer} \o ActiveQt client extension
    227257    \row    \o \l{QAxServer}    \o ActiveQt server extension
    228     \row    \o \l{QtAssistant}  \o Classes for launching Qt Assistant
     258    \row    \o \l{QtHelp}       \o Classes for integrating online documentation
    229259    \row    \o \l{QtDesigner}   \o Classes for extending and embedding Qt Designer
    230     \row    \o \l{QtUiTools}       \o Classes for dynamic GUI generation
     260    \row    \o \l{QtUiTools}    \o Classes for dynamic GUI generation
    231261    \row    \o \l{QtTest}       \o Tool classes for unit testing
    232262    \endtable
     
    458488
    459489/*!
     490    \page qt4-7-intro.html
     491    \title What's New in Qt 4.7
     492
     493    Qt 4.7 provides many improvements and enhancements over the
     494    previous releases in the Qt 4 series. This document covers the
     495    most important features in this release, separated by category.
     496
     497    A list of other Qt 4 features can be found on the \bold{\l{What's
     498    New in Qt 4}} page.
     499
     500    \section1 Declarative UI Development with Qt Quick
     501
     502    \image quick_screens.png
     503
     504    Qt 4.7 introduces \l{Qt Quick}, the Qt UI Creation Kit. that enables
     505    the creation of dynamic user interfaces, easier and more effective
     506    than possible with existing UI technologies. This UI Creation Kit
     507    consists of three technologies:
     508
     509    \list
     510    \i QML is a declarative language oriented on JavaScript that utilizes
     511    Qt's Meta-Object capabilities to enable designers and developers to
     512    collaborate tightly and create animated and fluid user experiences,
     513    using existing knowledge in script language and design.
     514
     515    \i Qt Declarative is a C++ library that provides the underlying engine,
     516    which translates the declarative description of the UI in QML into
     517    items on a QGraphicsScene. The library also provides APIs to bind
     518    custom C++ types and elements to QML, and to connect the QML UI with
     519    the underlying application logic written in C++.
     520
     521    \i Qt Creator has been improved to support interactive editing of
     522    QML UIs through drag-and-drop. The text editor supports the QML
     523    syntax and provides authoring assistance such as auto-completion,
     524    error lookup, help lookup and easy preview of QML UI's. The Qt
     525    Quick features in Qt Creator will be released with Qt Creator 2.1
     526    \endlist
     527
     528    \section1 Network Bearer Management
     529
     530    Bearer Management controls the connectivity state of the system.
     531    The new Bearer Management API in the QtNetwork module allows the
     532    application to identify whether the system is online and how many
     533    interfaces there are, as well as start and stop interfaces, or
     534    roam transparently between access points.
     535
     536    QNetworkAccessManager uses this API for HTTP level roaming.
     537
     538    \section1 Feature Improvements in QtWebKit
     539
     540    The QGraphicsWebView class has a new tiled backing store, which
     541    improves scrolling and zooming performance. You can even create
     542    animated zoom-in or zoom-out effects (see
     543    QWebSettings::TiledBackingStoreEnabled).
     544
     545    On mobile platforms, it is often useful to avoid displaying
     546    separate scrollbars for iframes and framesets. If you switch on
     547    frame flattening, QtWebKit will resize frames to fit their content
     548    to avoid separate scrollbars (see
     549    QWebSettings::FrameFlatteningEnabled).
     550
     551    Qt 4.7 adds support for accelerated compositing, which enhances
     552    the performance of CSS animations and transitions. Read more in
     553    \l{http://labs.trolltech.com/blogs/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/}{this blog}.
     554
     555    For hybrid QtWebKit and C++ projects, Qt 4.7 has added support for
     556    transporting \l{QPixmap}s between Qt C++ and WebKit. We have also
     557    improved the documentation for hybrid development. Read more here:
     558    \l{The QtWebKit Bridge}.
     559
     560    \section1 QtWebKit Performance Benchmarks
     561
     562    We have introduced a set of performance benchmarks for QtWebKit,
     563    and made numerous improvements in rendering performance, page
     564    loading performance, scrolling performance and CSS performance.
     565    Here are some examples from the benchmarks run on a 64-bit Linux
     566    workstation with the raster graphics system.
     567
     568    In a benchmark that measures the scrolling performance on popular
     569    websites, we found out that Qt 4.7.0 on this platform is 350%
     570    faster than Qt 4.6.0, thanks to several rendering related
     571    improvements.
     572
     573    Our page loading benchmark shows an improvement of 16% in Qt 4.7.0
     574    from Qt 4.6.0. This is due to improvements in text layout speed,
     575    image decoding, resource loading and event handling.
     576
     577    Several CSS animation benchmarks indicate a speed improvement of
     578    31% from Qt 4.6.0 to Qt 4.7.0. These benchmarks are effectively
     579    showing the improvement we get from accelerated compositing (see
     580    above).
     581
     582    \section1 Other Performance Related Improvements
     583
     584    In addition to the QtWebKit module, performance has been a focus
     585    area in Qt 4.7 throughout the Qt framework. Here are a couple of
     586    examples about performance related feature improvements.
     587
     588    On Mac OS X, Qt now uses a different widget implementation (called
     589    "alien widgets"), which improves the responsiveness of
     590    applications that have complex user interfaces with several
     591    widgets.
     592
     593    Qt 4.7 introduces the QStaticText class, which can be used to
     594    improve text rendering performance.  More info is available from
     595    \l{http://labs.trolltech.com/blogs/2010/03/01/insanity-is-shaping-the-same-text-again-and-expecting-a-different-result/}{this blog}.
     596
     597    The QPainter class has a new API for rendering pixmap fragments
     598    (QPainter::drawPixmapFragments), which can improve the rendering
     599    performance of applications that need to render
     600    \l{QPainter::drawPixmapFragments()}{pixmap fragments}.
     601
     602    Qt 4.7 has an updated version of the JavaScriptCore engine for the
     603    QtScript module, which improves JavaScript execution performance.
     604
     605    \section1 New Classes, Functions, Macros, etc.
     606
     607    Links to new classes, elements, functions, macros, and other items
     608    introduced in Qt 4.7.
     609
     610    \sincelist 4.7
     611
     612*/
     613
     614/*!
    460615    \page qt4-6-intro.html
    461616    \title What's New in Qt 4.6
     
    469624    included in the \c changes-4.6.0 file
    470625    \l{http://qt.nokia.com/developer/changes/changes-4.6.0}{available
    471     online}. A \l{Known Issues in 4.6.3}{list of known issues}
     626    online}. A \l{Known Issues in 4.7.2}{list of known issues}
    472627    for this release is also available.
    473628
    474629    Changes between this release and the previous release are provided
    475     in the \c{changes-4.6.3} file (also
    476     \l{http://qt.nokia.com/developer/changes/changes-4.6.3}{available online}).
     630    in the \c{changes-4.7.2} file (also
     631    \l{http://qt.nokia.com/developer/changes/changes-4.7.2}{available online}).
    477632\endomit
    478633
    479634    A list of other Qt 4 features can be found on the \bold{\l{What's
    480635    New in Qt 4}} page.
    481 
    482     \bold{Highlights}
    483 
    484     \tableofcontents
    485636
    486637    \section1 Support for Symbian
     
    552703    See \l{The State Machine Framework} documentation for more information.
    553704
    554     \section1 Multi-Touch and Gestures
    555 
    556     Support for multi-touch input enables users to interact with many
     705    \section1 Touch and Gestures
     706
     707    Support for touch input enables users to interact with many
    557708    parts of a user interface at the same time, and provides the basis
    558709    for gestures. Additional infrastructure for gesture recognition
     
    568719        \o Allows users to interact with applications in more natural ways.
    569720        \o Simplifies finger-based interaction with UI components.
    570         \o Combines support for common basic gestures and multi-touch gestures
     721        \o Combines support for common basic gestures and touch gestures
    571722           in a single general framework.
    572723        \o Enables extensibility by design.
    573724    \endlist
    574725
    575     See the QTouchEvent class documentation for more information on multi-touch
     726    See the QTouchEvent class documentation for more information on touch
    576727    input and QGestureEvent for gestures.
    577728
    578     \section1 DOM access API
     729    \section1 DOM Access API
    579730
    580731    Web pages and XML both have very complex document object models.
     
    595746    \list
    596747        \o Rewritten the QGraphicsView rendering algorithm.
    597         \o Made QPixmapCache support efficient Key datastructure.
     748        \o Made QPixmapCache support efficient Key data structure.
    598749        \o Reduced overhead in QNetworkAccessManager.
    599750        \o Added the QContiguousCache class, which provides efficient caching of
     
    636787    information.
    637788
    638     \section1 Qt3D enablers
     789    \section1 Qt3D Enablers
    639790
    640791    As more of Qt, and more of the applications built on Qt go 3D,
     
    646797    The main features of the Qt3D enablers are currently: Math
    647798    primitives for matrix multiplication, vectors, quaternions
    648     (client-side), and API for vertex and fragment shaders, GLSL/ES.
     799    (client-side), and an API for vertex and fragment shaders, GLSL/ES.
    649800    Future research will, among other things include stencils,
    650801    scissors, vertex buffers and arrays, texture manipulation, and
     
    683834    in the \c changes-4.5.0 file
    684835    \l{http://qt.nokia.com/developer/changes/changes-4.5.0}{available online}.
    685     A \l{Known Issues in 4.6.3}{list of known issues} for this release is also
     836    A \l{Known Issues in 4.7.2}{list of known issues} for this release is also
    686837    available.
    687838
    688839    Changes between this release and the previous release are provided
    689     in the \c{changes-4.6.3} file (also
    690     \l{http://qt.nokia.com/developer/changes/changes-4.6.3}{available online}).
     840    in the \c{changes-4.7.2} file (also
     841    \l{http://qt.nokia.com/developer/changes/changes-4.7.2}{available online}).
    691842
    692843    A list of other Qt 4 features can be found on the
    693844    \bold{\l{What's New in Qt 4}} page.
    694 
    695     \bold{Highlights}
    696 
    697     \tableofcontents
    698845
    699846    \section1 Qt WebKit Integration
Note: See TracChangeset for help on using the changeset viewer.