Les nouveautés de Qt 4.7Qt 4.7 contient de nombreuses nouveautés et améliorations par rapport aux versions précédentes de la série Qt 4. Ce document décrit les fonctionnalités les plus importantes de cette version, divisées en catégories. Vous pouvez trouver une liste des autres fonctionnalités de Qt 4 dans la page Les nouveautés de Qt 4. Le développement déclaratif d'interfaces utilisateur avec Qt QuickQt 4.7 introduit Qt Quick, le Qt UI Creation Kit (c'est-à-dire kit de création d'interfaces utilisateur Qt), qui permet la création d'interfaces utilisateur dynamiques plus facilement et plus efficacement qu'avec les technologies existantes. Qt Quick est composé de trois technologies.
Gestion de l'accès au réseauLa gestion de l'accès au réseau (Bearer Management) contrôle l'état de connectivité du système. La nouvelle API Bearer Management du module QtNetwork permet à l'application de savoir si le système est connecté ou non et combien d'interfaces existent, ainsi que de démarrer ou d'arrêter des interfaces ou de changer de point d'accès de façon transparente. QNetworkAccessManager utilise cette API pour le roaming (changement de réseau) au niveau de la couche HTTP. La classe QGraphicsWebView utilise un nouveau stockage interne subdivisé, ce qui améliore les performances de zoom et de défilement. Vous pouvez même créer des effets de zoom animés avant ou arrière (voir QWebSettings::TiledBackingStoreEnabled). Sur les plateformes mobiles, il est souvent souhaitable d'éviter d'afficher des barres de défilement séparées pour les iframes et les framesets. Si vous activez la fusion des frames, QtWebKit va redimensionner les frames à la taille de leur contenu pour éviter les barres de défilement séparées (voir QWebSettings::FrameFlatteningEnabled). Qt 4.7 ajoute la gestion de l'accélération de la composition, ce qui améliore les performances des animations et transitions CSS. Plus d'informations sur ce blog. Pour les projets hybrides QtWebKit et C++, Qt 4.7 ajoute le transport de QPixmaps entre le C++ Qt et WebKit. Nous avons aussi amélioré la documentation du développement hybride. Plus d'informations ici : la passerelle QtWebKit. Tests de performance pour QtWebKitNous avons introduit un ensemble de tests de performance pour QtWebKit et amélioré les performances de rendu, de chargement de pages, de défilement et les performances CSS. Voici des exemples de résultats de tests sur une station Linux 64 bits avec le système graphique raster. Un test mesurant les performances de défilement sur des sites populaires a montré que Qt 4.7.0 était 350 % plus rapide que Qt 4.6.0 sur cette plateforme, grâce aux améliorations des fonctions de rendu. Notre test de chargement de page montre une amélioration de 16 % de Qt 4.7.0 par rapport à Qt 4.6.0. Cette différence est due à des améliorations de la vitesse d'affichage du texte, du décodage d'images, du chargement de ressources et de la gestion d'événements. Plusieurs tests de performance des animations CSS montrent une vitesse en hausse de 31 % entre Qt 4.6.0 et Qt 4.7.0. Ces tests démontrent les gains obtenus grâce à l'accélération de la composition (voir ci-dessus). Autres améliorations de performancesEn dehors du module QtWebKit, pour cette version 4.7 les performances de l'ensemble du framework ont été une préoccupation centrale. Voici quelques exemples d'améliorations relatives aux performances. Sur Mac OS X, Qt utilise maintenant une implémentation différente des widgets (appelée « alien widgets »), qui améliore la réactivité des applications ayant des interfaces utilisateur complexes avec plusieurs widgets. Qt 4.7 introduit la classe QStaticText, qui peut être utilisée pour augmenter les performances de rendu de textes. Vous trouverez plus d'informations dans ce blog. La classe QPainter dispose d'une nouvelle API pour le rendu de fragments de pixmap (QPainter::drawPixmapFragments), qui peut améliorer les performances de rendu des applications qui doivent afficher des fragments de pixmap. Qt 4.7 contient une mise à jour du moteur JavaScriptCore pour le module QtScript, qui augmente la vitesse d'exécution de JavaScript. Nouvelles classes, fonctions, macros, etc.Liens vers les nouvelles classes, fonctions, macros et autres éléments introduits dans Qt 4.7 ;
Nouvelles ClassesD QDeclarativeComponent QDeclarativeContext QDeclarativeEngine QDeclarativeError QDeclarativeExpression QDeclarativeExtensionPlugin QDeclarativeImageProvider QDeclarativeItem QDeclarativeListProperty QDeclarativeListReference QDeclarativeNetworkAccessManagerFactory QDeclarativeParserStatus QDeclarativeProperty QDeclarativePropertyMap QDeclarativeScriptString QDeclarativeView N QNetworkConfiguration QNetworkConfigurationManager QNetworkSession Nouvelles fonctions membresClasse QWebFrame: void scrollToAnchor ( const QString & anchor ) Classe QAuthenticator: QVariant option ( const QString & opt ) const Classe QAudioFormat: int channelCount () const Classe QGLShader: bool hasOpenGLShaders ( ShaderType type, const QGLContext * context = 0 ) Classe QGLShaderProgram: GLenum geometryInputType () const Classe QGraphicsScale: void xScaleChanged () Classe QFileSystemModel: void directoryLoaded ( const QString & path ) Classe QState: QList<QAbstractTransition *> transitions () const Classe QPlainTextEdit: QString anchorAt ( const QPoint & pos ) const Classe QAudioDeviceInfo: QList<int> supportedChannelCounts () const Classe QNetworkRequest: Priority priority () const Classe QGraphicsItem: void updateMicroFocus () Classe QGraphicsObject: void updateMicroFocus () Classe QIconEngineV2: QString iconName () Classe QDBusMessage: bool autoStartService () const Classe QNetworkAccessManager: QNetworkConfiguration activeConfiguration () const Classe QWizard: void pageAdded ( int id ) Classe QScriptEngine: QScriptValeur evaluate ( const QScriptProgram & program ) Nouvelles fonctions globalesuint qHash ( const QUrl & url ) Nouveaux éléments QMLA AnchorAnimation AnimatedImage Animation B Behavior Binding BorderImage C ColorAnimation Column Component Connections F Flickable Flipable Flow FocusPanel FocusScope FontLoader G Gradient GradientStop Grid GridView L LayoutItem ListElement ListModel ListView Loader M QML:QtObject MouseArea MouseEvent P ParallelAnimation ParentAnimation ParticleMotionGravity ParticleMotionLinear ParticleMotionWander Particles Path PathAttribute PathCubic PathElement PathLine PathPercent PathQuad PathView PauseAnimation PropertyAction PropertyAnimation PropertyChanges R Rectangle Repeater Rotation RotationAnimation Row S Scale ScriptAction SequentialAnimation SmoothedAnimation SpringAnimation State StateGroup SystemPalette T Text TextEdit TextInput Timer Transform Transition Translate V Vector3dAnimation VisualItemModel W WebView RemerciementsMerci à Ilya Diallo pour la traduction et à Jonathan Courtois, Claude Leloup, Jacques Thery et Thibaut Cuvelier pour leur relecture ! |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.7 | |
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |