Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

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

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the documentation of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     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.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    7878
    7979    The following features have been added to Qt since the first release of Qt 4:
     80
     81    In Qt 4.5:
     82    \list
     83    \o The WebKit browser engine included with Qt has been
     84       upgraded to the latest upstream (trunk) version of WebKit,
     85       bringing the latest features and improvements to Qt applications.
     86    \o Qt for Mac OS X has been substantially rewritten to use
     87       Apple's Cocoa API, enabling Qt applications to be deployed on
     88       64-bit Macintosh hardware.
     89    \o The QtXmlPatterns module has been extended to cover XSLT, a
     90       transformation language for XML documents.
     91    \o Qt Script introduced its debugger,
     92       providing error reporting for scripts, and to let users track down
     93       bugs in their own scripts.
     94    \o Qt 4.5 includes support for writing rich text documents as
     95       OpenDocument files via the newly-introduced QTextDocumentWriter
     96       class.
     97    \o Qt Linguist can load and edit multiple translation
     98       files simultaneously.
     99    \o Support for ARGB top-level widgets (i.e., translucent
     100       windows).
     101    \endlist
    80102
    81103    In Qt 4.4:
     
    88110    XML processing beyond that supported by the QtXml module.
    89111    \o Support for embedded widgets in \l{Graphics View} scenes.
    90     \o The \l{Threading and Concurrent Programming}{QtConcurrent framework} for
     112    \o The \l{Thread Support in Qt}{QtConcurrent framework} for
    91113    concurrent programming using Qt paradigms and threading features.
    92114    \o An \l{QtHelp Module}{improved help system} that can be used in conjunction
     
    163185
    164186    For more information about improvements in each Qt release, see
    165     the \l{http://www.qtsoftware.com/developer/changes/}
     187    the \l{http://qt.nokia.com/developer/changes/}
    166188    {detailed lists of changes}.
    167189
     
    236258    built-in C++ preprocessor.
    237259
    238     To compile code that uses .ui files, you will also need this line in
     260    To compile code that uses UI files, you will also need this line in
    239261    the .pro file:
    240262
     
    436458
    437459/*!
     460    \page qt4-6-intro.html
     461    \title What's New in Qt 4.6
     462
     463    Qt 4.6 provides many improvements and enhancements over the
     464    previous releases in the Qt 4 series. This document covers the
     465    most important features in this release, separated by category.
     466
     467\omit
     468    A comprehensive list of changes between Qt 4.5 and Qt 4.6 is
     469    included in the \c changes-4.6.0 file
     470    \l{http://qt.nokia.com/developer/changes/changes-4.6.0}{available
     471    online}. A \l{Known Issues in 4.6.1}{list of known issues}
     472    for this release is also available.
     473
     474    Changes between this release and the previous release are provided
     475    in the \c{changes-4.6.1} file (also
     476    \l{http://qt.nokia.com/developer/changes/changes-4.6.1}{available online}).
     477\endomit
     478
     479    A list of other Qt 4 features can be found on the \bold{\l{What's
     480    New in Qt 4}} page.
     481
     482    \bold{Highlights}
     483
     484    \tableofcontents
     485
     486    \section1 Support for Symbian
     487
     488    Qt 4.6 is the first release to include support for the Symbian
     489    platform, with integration into the S60 framework. The port to
     490    Symbian and S60 provides all functionality required to develop
     491    rich end-user applications for devices running S60 3.1 and
     492    later.
     493
     494    See the \l{The Symbian platform - Introduction to Qt} for more information.
     495
     496    \section1 Animation Framework
     497
     498    The animation framework helps build highly animated,
     499    high-performance GUIs without the hassle of managing complex
     500    structures, timers, and easing curves, not to mention the large
     501    state graphs that all animated GUIs tend to be full of.
     502
     503    The framework makes it easy to animate \l{QObject}s, including
     504    QWidgets, by allowing Qt properties to be animated. It also allows
     505    creating custom animations and interpolation functions. Graphics
     506    views are not left out; one can animate \l{QGraphicsWidget}s and
     507    new \l{QGraphicsObject}s which inherit from QGraphicsItem
     508    (and thereby enable properties).
     509
     510    Animations are controlled using easing curves and can be grouped
     511    together. This enables animations of arbitrary complexity.
     512
     513    The API is easy to grasp with functions such as start(), stop(),
     514    pause(), and currentTime(). Here is an image from one of the
     515    examples that come with the framework:
     516
     517    \image whatsnewanimatedtiles.png
     518
     519    The animation framework also plugs into the new Qt Statemachine by
     520    allowing an animation to be played when transitions are triggered.
     521    The state machine framework is introduced in 4.6 and is described
     522    below.
     523
     524    See \l{The Animation Framework} documentation for more information.
     525
     526    \section1 State Machine Framework
     527
     528    The state machine framework provides a robust state chart
     529    implementation based on Harel statecharts and SCXML. Qt's API lets
     530    you construct such state graphs and execute them. The key benefits
     531    of a state machine are:
     532
     533    \list
     534        \o Simplify complex application semantics.
     535        \o Use of states to reduce code bloat.
     536        \o Use states to improve maintainability.
     537        \o Makes event-driven programming robust and more
     538           reusable.
     539    \endlist
     540
     541    It is especially the last item here that makes using a state
     542    machine worthwhile. A key characteristic of event-driven systems
     543    (such as Qt applications) is that behavior often depends not only
     544    on the last or current event, but also the events that preceded
     545    it. With statecharts, this information is easy to express.
     546
     547    The framework fits neatly into Qt by allowing transitions to
     548    trigger on signals and \l{QEvent}s. By inserting animations into
     549    the state machine, it is also easier to use the framework for
     550    animating GUIs, for instance.
     551
     552    See \l{The State Machine Framework} documentation for more information.
     553
     554    \section1 Multi-Touch and Gestures
     555
     556    Support for multi-touch input enables users to interact with many
     557    parts of a user interface at the same time, and provides the basis
     558    for gestures. Additional infrastructure for gesture recognition
     559    allows a sequence of touch inputs to be combined to create gestures
     560    that can be used to activate features and trigger actions in an
     561    application.
     562
     563    \image gestures.png
     564
     565    This new functionality brings a number of benefits:
     566
     567    \list
     568        \o Allows users to interact with applications in more natural ways.
     569        \o Simplifies finger-based interaction with UI components.
     570        \o Combines support for common basic gestures and multi-touch gestures
     571           in a single general framework.
     572        \o Enables extensibility by design.
     573    \endlist
     574
     575    See the QTouchEvent class documentation for more information on multi-touch
     576    input and QGestureEvent for gestures.
     577
     578    \section1 DOM access API
     579
     580    Web pages and XML both have very complex document object models.
     581    The W3C selector API provides a very simple way to access and
     582    manipulate such structures. This API makes it intuitive to access
     583    DOM, helps reuse CSS selector knowledge, and gives little
     584    maintenance or footprint overhead.
     585
     586    \snippet webkitsnippets/webelement/main.cpp FindAll
     587
     588    See the QWebElement class documentation for more information.
     589
     590    \section1 Performance Optimizations
     591
     592    As always, Qt continuously strive to optimize its performance.
     593    For this release, we have:
     594
     595    \list
     596        \o Rewritten the QGraphicsView rendering algorithm.
     597        \o Made QPixmapCache support efficient Key datastructure.
     598        \o Reduced overhead in QNetworkAccessManager.
     599        \o Added the QContiguousCache class, which provides efficient caching of
     600           contiguous data.
     601        \o Added support for hardware-accelerated rendering through
     602        \l{OpenVG Rendering in Qt}{OpenVG}
     603        \o Removed Win9x support.
     604    \endlist
     605
     606    \section1 Graphics Effects
     607
     608    Effects can be used to alter the appearance of UI elements such as
     609    \l{QGraphicsItem}s and \l{QWidget}s. A couple of standard effects such
     610    as blurring, colorizing and drop shadow are provided, and it is
     611    possible to implement custom effects.
     612
     613    \table
     614    \row
     615    \o{2,1} \img graphicseffect-plain.png
     616    \row
     617    \o \img graphicseffect-blur.png
     618    \o \img graphicseffect-colorize.png
     619    \row
     620    \o \img graphicseffect-opacity.png
     621    \o \img graphicseffect-drop-shadow.png
     622    \endtable
     623
     624    See the QGraphicsEffect class documentation for more information.
     625
     626    \section1 XML Schema Validation
     627
     628    The QtXmlPatterns module can now be used to validate schemas, either
     629    through C++ APIs in the Qt application, or using the xmlpatternsvalidator
     630    command line utility. The implementation of XML Schema Validation supports
     631    the specification version 1.0 in large parts.
     632
     633    \img xml-schema.png
     634
     635    See the \l{XML Processing} and QXmlSchema class documentation for more
     636    information.
     637
     638    \section1 Qt3D enablers
     639
     640    As more of Qt, and more of the applications built on Qt go 3D,
     641    API's should be provided to simplify this. Mainly, the new API
     642    aims to make it more easy to create 3D applications with OpenGL.
     643    It will also unify the Qt OpenGL codebase, and enable
     644    cross-platform 3D codebase.
     645
     646    The main features of the Qt3D enablers are currently: Math
     647    primitives for matrix multiplication, vectors, quaternions
     648    (client-side), and API for vertex and fragment shaders, GLSL/ES.
     649    Future research will, among other things include stencils,
     650    scissors, vertex buffers and arrays, texture manipulation, and
     651    geometry shaders.
     652
     653    \section1 Multimedia Services
     654
     655    Qt 4.6 comes with new classes for handling audio. These classes
     656    provide low-level access to the system's audio system. By
     657    specifying the audio format (QAudioFormat) and supplying audio
     658    data through a QIODevice, you get direct access to the
     659    functionality of the sound device. The API also comes with
     660    functions to query audio devices for which audio formats they
     661    support.
     662
     663    See the \l{QtMultimedia Module} documentation for more information.
     664
     665    \section1 New Classes, Functions, Macros, etc.
     666
     667    Links to new classes, functions, macros, and other items
     668    introduced in Qt 4.6.
     669
     670    \sincelist 4.6
     671
     672*/
     673
     674/*
    438675    \page qt4-5-intro.html
    439676    \title What's New in Qt 4.5
     
    445682    A comprehensive list of changes between Qt 4.4 and Qt 4.5 is included
    446683    in the \c changes-4.5.0 file
    447     \l{http://www.qtsoftware.com/developer/changes/changes-4.5.0}{available online}.
    448     A \l{Known Issues in 4.5.1}{list of known issues} for this release is also
     684    \l{http://qt.nokia.com/developer/changes/changes-4.5.0}{available online}.
     685    A \l{Known Issues in 4.6.1}{list of known issues} for this release is also
    449686    available.
    450687
    451688    Changes between this release and the previous release are provided
    452     in the \c{changes-4.5.1} file (also
    453     \l{http://www.qtsoftware.com/developer/changes/changes-4.5.1}{available online}).
     689    in the \c{changes-4.6.1} file (also
     690    \l{http://qt.nokia.com/developer/changes/changes-4.6.1}{available online}).
    454691
    455692    A list of other Qt 4 features can be found on the
Note: See TracChangeset for help on using the changeset viewer.