IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Les nouveaut�s de Qt 4.7

Qt 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 Quick

image

Qt 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.

  • QML est un langage d�claratif bas� sur JavaScript tirant parti des capacit�s des m�ta-objets de Qt. Il a pour objectif de permettre une collaboration �troite entre designers et d�veloppeurs pour la cr�ation d'interfaces anim�es et fluides, en utilisant les connaissances existantes en design et en langages de scripts.
  • QtDeclarative est une biblioth�que C++ qui fournit le moteur sous-jacent transcrivant les descriptions d�claratives de l'interface QML en �l�ments d'une QGraphicsScene. La biblioth�que fournit �galement des API pour rendre des types C++ personnalis�s accessibles � QML et pour connecter l'interface utilisateur en QML avec une logique applicative �crite en C++.
  • Qt Creator g�re maintenant l'�dition interactive d'interfaces utilisateur QML par des glisser-d�poser. L'�diteur de texte reconna�t la syntaxe QML et fournit une assistance � l'�criture sous forme d'auto-compl�tion, d'acc�s aux descriptions d'erreurs et � l'aide, et de pr�visualisation facile des �crans QML. Ces fonctionnalit�s Qt Quick dans Qt Creator seront livr�es avec Qt Creator 2.1.

Gestion de l'acc�s au r�seau

La 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 QtWebKit

Nous 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 performances

En 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 Classes

D QDeclarativeComponent QDeclarativeContext QDeclarativeEngine QDeclarativeError QDeclarativeExpression QDeclarativeExtensionPlugin QDeclarativeImageProvider QDeclarativeItem QDeclarativeListProperty QDeclarativeListReference QDeclarativeNetworkAccessManagerFactory QDeclarativeParserStatus QDeclarativeProperty QDeclarativePropertyMap QDeclarativeScriptString QDeclarativeView

E QElapsedTimer

G QGLBuffer

N QNetworkConfiguration QNetworkConfigurationManager QNetworkSession

S QScriptProgram

Nouvelles fonctions membres

Classe QWebFrame:

void scrollToAnchor ( const QString & anchor )

Classe QAuthenticator:

QVariant option ( const QString & opt ) const
QVariantHash options () const
void setOption ( const QString & opt, const QVariant & value )

Classe QAudioFormat:

int channelCount () const
int sampleRate () const
void setChannelCount ( int channels )
void setSampleRate ( int samplerate )

Classe QGLShader:

bool hasOpenGLShaders ( ShaderType type, const QGLContext * context = 0 )

Classe QGLShaderProgram:

GLenum geometryInputType () const
GLenum geometryOutputType () const
int geometryOutputVertexCount () const
int maxGeometryOutputVertices () const
void setAttributeArray ( int location, GLenum type, const void * values, int tupleSize, int stride = 0 )
void setAttributeArray ( const char * name, GLenum type, const void * values, int tupleSize, int stride = 0 )
void setAttributeBuffer ( int location, GLenum type, int offset, int tupleSize, int stride = 0 )
void setAttributeBuffer ( const char * name, GLenum type, int offset, int tupleSize, int stride = 0 )
void setGeometryOutputType ( GLenum outputType )
void setGeometryOutputVertexCount ( int count )
void setUniformValeur ( int location, const GLfloat[2][2] value )
void setUniformValeur ( int location, const GLfloat[3][3] value )
void setUniformValeur ( const char * name, const GLfloat[2][2] value )
void setUniformValeur ( const char * name, const GLfloat[3][3] value )

Classe QGraphicsScale:

void xScaleChanged ()
void yScaleChanged ()
void zScaleChanged ()

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
QList<int> supportedSampleRates () const

Classe QNetworkRequest:

Priority priority () const
void setPriority ( Priority priority )

Classe QGraphicsItem:

void updateMicroFocus ()

Classe QGraphicsObject:

void updateMicroFocus ()

Classe QIconEngineV2:

QString iconName ()

Classe QDBusMessage:

bool autoStartService () const
void setAutoStartService ( bool enable )

Classe QNetworkAccessManager:

QNetworkConfiguration activeConfiguration () const
QNetworkConfiguration configuration () const
NetworkAccessibility networkAccessible () const
QNetworkReply * sendCustomRequest ( const QNetworkRequest & request, const QByteArray & verb, QIODevice * data = 0 )
void setConfiguration ( const QNetworkConfiguration & config )
void setNetworkAccessible ( NetworkAccessibility accessible )

Classe QWizard:

void pageAdded ( int id )
void pageRemoved ( int id )
void setSideWidget ( QWidget * widget )
QWidget * sideWidget () const

Classe QScriptEngine:

QScriptValeur evaluate ( const QScriptProgram & program )
void reportAdditionalMemoryCost ( int size )

Nouvelles fonctions globales

uint qHash ( const QUrl & url )

Nouveaux �l�ments QML

A AnchorAnimation AnimatedImage Animation

B Behavior Binding BorderImage

C ColorAnimation Column Component Connections

F Flickable Flipable Flow FocusPanel FocusScope FontLoader

G Gradient GradientStop Grid GridView

I Image Item

K KeyEvent KeyNavigation Keys

L LayoutItem ListElement ListModel ListView Loader

M QML:QtObject MouseArea MouseEvent

N NumberAnimation

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

X XmlListModel

Remerciements

Merci � 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 © 2025 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 !