Aller au menu - Aller au contenu

Icône Apprendre à lire la documentation de Qt

Mise à jour : 27/05/2011
Difficulté : Facile Facile Creative Commons BY-NC-SA
75 639 visites depuis 7 jours, dont 396 sur ce chapitre classé 5/786
Voilà le chapitre le plus important de toute la partie sur Qt : celui qui va vous apprendre à lire la documentation de Qt.

Pourquoi est-ce que c'est si important de savoir lire la documentation ?


Parce que la documentation, c'est la bible du programmeur. Elle explique toutes les possibilités d'un langage ou d'une bibliothèque.
La documentation de Qt contient la liste des fonctionnalités de Qt. Toute la liste.

La documentation, c'est donc ce qu'il y a de plus complet mais... ça n'a rien à voir avec un tutoriel du Site du Zéro.

Déjà, il faudra vous y faire : la doc n'est disponible qu'en anglais (c'est valable pour Qt et pour la quasi-totalité des autres docs). Il faudra donc faire l'effort de lire de l'anglais, même si vous y êtes allergiques. En programmation, on peut rarement s'en sortir si on ne lit pas un minimum d'anglais technique.

D'autre part, la documentation est construite de manière assez déroutante quand on débute. Il faut être capable de "lire" et naviguer dans une documentation.
C'est précisément ce que ce chapitre va vous apprendre à faire :)
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Où trouver la doc ?

On vous dit que Qt propose une superbe documentation très complète qui vous explique tout son fonctionnement.
Oui, mais où peut-on trouver cette documentation au juste ? o_O

Il y a en fait 2 moyens d'accéder à la doc :

  • si vous avez internet : vous pouvez aller sur le site de Nokia (l'entreprise qui édite Qt) ;
  • si vous n'avez pas internet : vous pouvez utiliser le programme Qt Assistant qui contient toute la doc. Vous pouvez aussi appuyer sur la touche F1 dans Qt Creator pour obtenir plus d'informations à propos du mot-clé sur lequel se trouve le curseur.


Avec internet : sur le site de Nokia



Personnellement, si j'ai accès à internet, j'ai tendance à préférer utiliser cette méthode pour lire la documentation. Il suffit d'aller sur le site web de Nokia, section documentation. L'adresse est simple à retenir :



Je vous conseille très fortement d'ajouter ce site dans vos favoris, et de faire en sorte qu'il soit visible !
Si vous ne faites pas un raccourci visible vers la doc, vous serez moins tentés d'y aller... or le but c'est justement que vous preniez le réflexe d'y aller ;)


Un des principaux avantages à aller chercher la doc sur internet, c'est que l'on est assuré d'avoir la doc la plus à jour. En effet, s'il y a des nouveautés ou des erreurs, on est certain en allant sur le net d'en avoir la dernière version.

Lorsque vous arrivez sur la doc, la page suivante s'affiche :

Accueil de la doc


C'est la liste des produits liés à Qt. Nous nous intéressons au premier cadre en haut à gauche intitulé Qt.
Vous pouvez voir la liste des différentes versions de Qt, depuis Qt 2.3.

Sélectionnez la version de Qt qui correspond à celle que vous avez installée (normalement la toute dernière).

Voici la page qui devrait s'afficher maintenant :

Accueil dernière version


C'est l'accueil de la doc pour votre version de Qt.

Si vous le voulez, vous pouvez mettre directement cette page en favoris, car tant que vous n'installez pas une nouvelle version de Qt sur votre PC, il est inutile d'aller lire les docs des autres versions.


Nous allons détailler les différentes sections de cette page.
Mais avant... voyons voir comment accéder à la doc quand on n'a pas internet !

Sans internet : avec Qt Assistant



Si vous n'avez pas internet, pas de panique !
Qt a installé toute la documentation sur votre disque dur. Vous pouvez y accéder grâce au programme "Assistant" que vous retrouverez par exemple dans le menu Démarrer :

Ouverture de Qt Assistant


Qt Assistant se présente sous la forme d'un mini-navigateur qui contient la documentation de Qt :

Qt Assistant


Vous ne disposez que de la documentation de Qt correspondant à la version que vous avez installée (c'est logique dans un sens). Si vous voulez lire la documentation d'anciennes versions de Qt (ou de futures versions en cours de développement) il faut obligatoirement aller sur internet.


Le logiciel Qt Assistant vous permet d'ouvrir plusieurs onglets différents en cliquant sur le bouton "+".
Vous pouvez aussi effectuer une recherche grâce au menu à gauche de l'écran et rajouter des pages en favoris.

Les différentes sections de la doc

Lorsque vous arrivez à l'accueil de la doc, la page suivante s'affiche comme nous l'avons vu :

Accueil dernière version


C'est le sommaire de la doc. Il vous suffit de naviguer à travers le menu de gauche. Celui-ci est découpé en 3 sections :

  • API Lookup
  • Qt Topics
  • Examples


Les deux qui vont nous intéresser le plus sont API Lookup et Qt Topics. Vous pouvez regarder la section "Examples" aussi si vous le désirez, elle propose des exemples détaillés de programmes réalisés avec Qt.

Voyons ensemble ces 2 premières sections...

API Lookup



Cette section décrit dans le détail toutes les fonctionnalités de Qt. Ce n'est pas la plus lisible pour un débutant, mais c'est pourtant là qu'est le coeur de la doc :

  • Class index : la liste de toutes les classes proposées par Qt. Il y en a beaucoup ! C'est une des sections que vous consulterez le plus souvent.
  • Function index : c'est la liste de toutes les fonctions de Qt. Certaines de ces fonctions sont globales, d'autres sont des fonctions membres (c'est-à-dire des méthodes de classe !). C'est une bonne façon pour vous d'accéder à la description d'une fonction.
  • Modules : très intéressante, cette section répertorie les classes de Qt en fonction des modules. Qt étant découpé en plusieurs modules (Qt Core, Qt GUI...), cela vous permet de voir un peu comment est architecturé Qt globalement. Je vous invite à jeter un coup d'oeil en premier à cette section, c'est celle qui vous donnera le meilleur recul.
  • Namespaces : la liste des espaces de noms employés par Qt pour ranger les noms de classes et de fonctions. Nous n'en aurons pas vraiment besoin.
  • Global Declarations : toutes les déclarations globales de Qt. Ce sont des éléments qui sont accessibles partout dans tous les programmes Qt. Nous n'avons pas vraiment besoin d'étudier cela dans le détail.
  • QML elements : une liste des éléments du langage QML de Qt, basé sur XML. Nous n'utiliserons pas QML dans ce cours, mais sachez que QML permet de créer des fenêtres d'une façon assez souple, basée sur le langage XML (qui ressemble au HTML).

Ceci étant, l'élément que vous utiliserez vraiment le plus souvent est le champ de recherche en haut du menu. Lorsque vous aurez une question sur le fonctionnement d'une classe ou d'une méthode, il vous suffira de rentrer son nom dans le champ de recherche pour être redirigé immédiatement vers la page qui présente son fonctionnement.

Qt Topics



Ce sont des pages de guide qui servent non seulement d'introduction à Qt, mais aussi de conseils pour ceux qui veulent utiliser Qt le mieux possible (notamment la section "Best practices"). Bien sûr, tout est en anglais. ;)

La lecture de cette section peut être très intéressante et enrichissante pour vous. Vous n'avez pas besoin de la lire dans l'immédiat, car mon cours va vous permettre d'avoir une bonne introduction globale à Qt... mais si plus tard vous souhaitez aller plus loin, vous trouverez des articles très utiles dans cette section !

Comprendre la documentation d'une classe

Voilà la section la plus importante et la plus intéressante de ce chapitre : nous allons étudier la documentation d'une classe de Qt au hasard.
Chaque classe possède sa propre page, plus ou moins longue selon la complexité de la classe. Vous pouvez donc retrouver tout ce dont vous avez besoin de savoir sur une classe en lisant une seule page.

Bon, j'ai dit qu'on allait prendre une classe de Qt au hasard. Alors, voyons voir... sur qui ça va tomber... ah ! Je sais :



Lorsque vous connaissez le nom de la classe et que vous voulez lire sa documentation, utilisez le champ de recherche en haut du menu. Vous pouvez aussi passer par le lien "All Classes" depuis le sommaire.


Vous devriez avoir une longue page qui s'affiche sous vos yeux ébahis, et qui commence par quelque chose comme ça :

Doc de QLineEdit


Chaque documentation de classe suit exactement la même structure. Vous retrouverez donc les mêmes sections, les mêmes titres, etc.

Analysons à quoi correspond chacune de ces sections ! :)


Introduction



Au tout début, vous pouvez lire une très courte introduction qui explique en quelques mots à quoi sert la classe.

QLineEdit
Ici, nous avons : "The QLineEdit widget is a one-line text editor.", ce qui signifie, si vous avez bien révisé votre anglais, que ce widget est un éditeur de texte sur une ligne, comme le montre la capture d'écran ci-contre.

Le lien "More..." vous amène vers une description plus détaillée de la classe. En général, il s'agit d'un mini-tutoriel pour apprendre à utiliser la classe. Je vous recommande de toujours lire cette introduction quand vous travaillez avec une classe que vous ne connaissiez pas jusqu'alors.
Ça vous fera gagner beaucoup de temps car vous saurez "par où commencer" et "quelles sont les principales méthodes de la classe".

Ensuite, on vous donne le header à inclure pour pouvoir utiliser la classe dans votre code, en l'occurrence il s'agit de :

Code : C++
1
#include <QLineEdit>


Puis, vous avez une information très importante à côté de laquelle on passe souvent : la classe dont hérite votre classe. Ici, on voit que QWidget est le parent de QLineEdit. Donc QLineEdit récupère toutes les propriétés de QWidget. Ça a son importance comme nous allons le voir...


Voilà pour l'intro ! :)
Maintenant, voyons voir les sections qui suivent...


Public Types



Les classes définissent parfois des types de données personnalisés, sous la forme de ce qu'on appelle des énumérations (j'en ai parlé dans mon cours de C pour ceux qui auraient un trou de mémoire !).

Ici, QLineEdit définit l'énumération EchoMode qui propose plusieurs valeurs : Normal, NoEcho, Password, etc.

Une énumération ne s'utilise pas "telle quelle". C'est juste une liste de valeurs, que vous pouvez renvoyer à une méthode spécifique qui en a besoin. Dans le cas de QLineEdit, c'est la méthode setEchoMode(EchoMode) qui en a besoin, car elle n'accepte que des données de type EchoMode..
Pour envoyer la valeur "Password", il faudra écrire : setEchoMode(QLineEdit::Password).



Properties



Vous avez là toutes les propriétés d'une classe que vous pouvez lire et modifier.

Euh, ce ne sont pas des attributs ça par hasard ? o_O


Si. Mais la doc ne vous affiche que les attributs pour lesquels Qt définit des accesseurs. Il y a de nombreux attributs "internes" à chaque classe que la doc ne vous montre pas car ils ne vous concernent pas.

Toutes les propriétés sont donc des attributs intéressants de la classe que vous pouvez lire et modifier. Comme je vous l'avais dit dans un chapitre précédent, Qt suit cette convention pour le nom des accesseurs :

  • propriete() : c'est la méthode accesseur qui vous permet de lire la propriété ;
  • setPropriete() : c'est la méthode accesseur qui vous permet de modifier la propriété.


Prenons par exemple la propriété text. C'est la propriété qui stocke le texte rentré par l'utilisateur dans le champ de texte QLineEdit.

Comme indiqué dans la doc, text est de type QString. Vous devez donc récupérer la valeur dans un QString.
Pour récupérer le texte entré par l'utilisateur dans une variable contenu, on fera donc :

Code : C++
1
2
QLineEdit monChamp("Contenu du champ");
QString contenu = monChamp.text();


Pour modifier le texte présent dans le champ, on écrira :


Code : C++
1
2
QLineEdit monChamp;
monChamp.setText("Entrez votre nom ici");


Vous remarquerez que dans la doc, la propriété text est un lien. Cliquez dessus. Cela vous amènera plus bas sur la même page vers une description de la propriété (que fait-elle ? à quoi sert-elle ?).
On vous y donne aussi le prototype des accesseurs :

  • QString text () const
  • void setText ( const QString & )


Et enfin, parfois vous verrez comme là une mention "See also" (voir aussi) qui vous invite à aller voir d'autres propriétés ou méthodes de la classe qui ont un rapport avec celle que vous êtes en train de lire. Ici, on vous dit que les méthodes insert() et clear() pourraient vous intéresser. En effet, par exemple clear() vide le contenu du champ de texte, c'est donc une méthode intéressante en rapport avec la propriété qu'on était en train de lire.


TRES IMPORTANT : dans la liste des propriétés en haut de la page, notez les mentions "56 properties inherited from QWidget", et "1 property inherited from QObject". Comme QLineEdit hérite de QWidget, qui lui-même hérite de QObject, il possède du coup toutes les propriétés et toutes les méthodes de ses classes parentes !

En clair, les propriétés que vous voyez là ne sont qu'un tout petit bout des possibilités offertes par QLineEdit. Si vous cliquez sur le lien QWidget, on vous amène vers la liste des propriétés de QWidget. Vous disposez aussi de toutes ces propriétés dans un QLineEdit !
Vous pouvez donc utiliser la propriété width (largeur) qui est définie dans QWidget pour modifier la largeur de votre QLineEdit. Toute la puissance de l'héritage est là ! Tous les widgets possèdent donc ces propriétés "de base", ils n'ont plus qu'à définir des propriétés qui leur sont spécifiques.

J'insiste bien dessus car au début je me disais souvent : "Mais pourquoi il y a aussi peu de choses dans cette classe ?". En fait, il ne faut pas s'y fier et toujours regarder les classes parentes dont hérite la classe qui vous intéresse. Tout ce que les classes parentes possèdent, vous y avez accès aussi.


Public Functions



C'est bien souvent la section la plus importante. Vous y trouverez toutes les méthodes publiques (parce que les privées ne vous concernent pas) de la classe. On trouve dans le lot :

  • le (ou les) constructeur(s) de la classe. Très intéressant pour savoir comment créer un objet à partir de cette classe ;
  • les accesseurs de la classe (comme text() et setText() qu'on vient de voir), basés sur les attributs ;
  • et enfin d'autres méthodes publiques qui ne sont ni des constructeurs ni des accesseurs et qui effectuent diverses opérations sur l'objet. Par exemple : home(), qui ramène le curseur au début du champ de texte.


Cliquez sur le nom d'une méthode pour en savoir plus sur son rôle et son fonctionnement.


Lire et comprendre le prototype



A chaque fois, il faut que vous lisiez attentivement le prototype de la méthode, c'est très important ! Le prototype à lui seul vous donne une grosse quantité d'informations sur la méthode.

Prenons l'exemple du constructeur. On voit qu'on a 2 prototypes :

  • QLineEdit ( QWidget * parent = 0 )
  • QLineEdit ( const QString & contents, QWidget * parent = 0 )


Vous noterez que certains paramètres sont facultatifs.
Si vous cliquez sur un de ces constructeurs, par exemple le second, on vous explique la signification de chacun de ces paramètres.

On apprend que parent est un pointeur vers le widget qui "contiendra" notre QLineEdit (par exemple une fenêtre), et que contents est le texte qui doit être écrit dans le QLineEdit par défaut.

Cela veut dire, si on prend en compte que le paramètre parent est facultatif, qu'on peut créer un objet de type QLineEdit de 4 façons différentes :

Code : C++
1
2
3
4
QLineEdit monChamp(); // Appel du premier constructeur
QLineEdit monChamp(fenetre); // Appel du premier constructeur
QLineEdit monChamp("Entrez un texte"); // Appel du second constructeur
QLineEdit monChamp("Entrez un texte", fenetre); // Appel du second constructeur


C'est fou tout ce qu'un prototype peut raconter hein ? :D


Quand la méthode attend un paramètre d'un type que vous ne connaissez pas...



Je viens de voir la méthode setAlignment(), mais elle demande un paramètre de type Qt::Alignment. Comment je lui donne ça moi, je connais pas les Qt::Alignment !


Pas de panique. Il vous arrivera très souvent de tomber sur une méthode qui attend un paramètre d'un type qui vous est inconnu. Par exemple, vous n'avez jamais entendu parler de Qt::Alignment. Qu'est-ce que c'est que ce type ?

La solution pour savoir comment envoyer un paramètre de type Qt::Alignment consiste à cliquer dans la doc sur le lien Qt::Alignment (eh oui, ce n'est pas un lien par hasard !).
Ce lien vous amènera vers une page qui vous explique ce qu'est le type Qt::Alignment.

Il peut y avoir 2 types différents :

  • Les énumérations : Qt::Alignment en est une. Les énumérations sont très simples à utiliser, c'est une série de valeurs. Il suffit d'écrire la valeur que l'on veut, comme le donne la documentation de Qt::Alignment, par exemple Qt::AlignCenter. La méthode pourra donc être appelée comme ceci :

    Code : C++
    1
    monChamp.setAlignment(Qt::AlignCenter);
    


  • Les classes : parfois, la méthode attend un objet issu d'une classe précise pour travailler. Là c'est un peu plus compliqué : il va falloir créer un objet de cette classe et l'envoyer à la méthode.

    Prenons par exemple setValidator, qui attend un pointeur vers un QValidator. La méthode setValidator vous dit qu'elle permet de vérifier si l'utilisateur a rentré un texte valide, ce qui peut être utile si vous voulez vérifier que l'utilisateur a bien rentré un nombre entier et non pas "Bonjour ça va ?" quand vous lui demandez son âge...
    Si vous cliquez sur le lien QValidator, on vous emmène vers la page qui explique comment utiliser la classe QValidator. Lisez le texte d'introduction pour comprendre ce que cette classe est censée faire, puis regardez les constructeurs afin de savoir comment créer un objet de type QValidator.

    Parfois, comme là, c'est même un peu plus délicat. QValidator est une classe abstraite (c'est ce que vous dit l'intro de sa doc), ce qui signifie qu'on ne peut pas créer d'objet de type QValidator et qu'il faut utiliser une de ses classes filles :o
    Au tout début, la page de la doc de QValidator vous dit "Inherited by QDoubleValidator, QIntValidator, and QRegExpValidator". Cela signifie que ces classes héritent de QValidator et que vous pouvez les utiliser aussi. En effet, une classe fille est compatible avec la classe mère, comme nous l'avons déjà vu dans le chapitre sur l'héritage.

    Nous, nous voulons autoriser uniquement la personne à rentrer un nombre entier, nous allons donc utiliser QIntValidator. Il faut créer un objet de type QIntValidator. Regardez ses constructeurs et choisissez celui qui vous convient.

    Au final (ouf !), pour utiliser setValidator, on peut faire comme ceci :

    Code : C++
    1
    2
    QValidator *validator = new QIntValidator(0, 150, this);
    monChamp.setValidator(validator);
    


    ... pour s'assurer que la personne ne rentrera qu'un nombre compris entre 0 et 150 ans (ça laisse de la marge ^^ ).


La morale de l'histoire, c'est qu'il ne faut pas avoir peur d'aller lire la documentation d'une classe dont a besoin la classe sur laquelle vous travaillez, et même des fois là d'aller voir les classes filles.

Ça peut faire un peu peur au début, mais c'est une gymnastique de l'esprit à acquérir. N'hésitez donc pas à sauter de lien en lien dans la doc pour arriver enfin à envoyer à cette $%@#$#% de méthode un objet du type qu'elle attend ! :D

Public Slots



Les slots sont des méthodes comme les autres, à la différence près qu'on peut aussi les connecter à un signal comme on l'a vu dans le chapitre sur les signaux et les slots.
Notez que rien ne vous interdit d'appeler un slot directement, comme si c'était une méthode comme une autre.

Par exemple, le slot undo() annule la dernière opération de l'utilisateur.

Vous pouvez l'appeler comme une bête méthode :

Code : C++
1
monChamp.undo();


... mais la particularité du fait que undo() soit un slot, c'est que vous pouvez aussi le connecter à un autre widget. Par exemple, on peut imaginer un menu Edition / Annuler dont le signal "cliqué" sera connecté au slot "undo" du champ de texte :)

Tous les slots offerts par QLineEdit ne sont pas dans cette liste. Je me permets de vous rappeler une fois de plus qu'il faut penser à regarder les mentions comme "19 public slots inherited from QWidget", qui vous invitent à aller voir les slots de QWidget auxquels vous avez aussi accès.
C'est ainsi que vous découvrez que vous disposez du slot hide() qui permet de masquer votre QLineEdit.


Signals



C'est la liste des signaux que peut envoyer un QLineEdit.
Un signal est un évènement qui s'est produit et que l'on peut connecter à un slot (le slot pouvant appartenir à cet objet ou à un autre).

Par exemple, le signal textChanged() est émis à chaque fois que l'utilisateur modifie le texte à l'intérieur du QLineEdit. Si vous le voulez, vous pouvez connecter ce signal à un slot pour qu'une action soit effectuée à chaque fois que le texte est modifié.

Attention encore une fois à bien regarder les signaux hérités de QWidget et QObject, car ils appartiennent aussi à la classe QLineEdit. Je sais que je suis lourd à force de répéter ça, inutile de me le dire, je le fais exprès pour que ça rentre :p


Protected Functions



Ce sont des méthodes protégées. Elles ne sont ni public, ni private, mais protected.
Comme on l'a vu dans le chapitre sur l'héritage, ce sont des méthodes privées (auxquelles vous ne pouvez pas accéder directement en tant qu'utilisateur de la classe) mais qui seront héritées et donc réutilisables si vous créez une classe basée sur QLineEdit.

Il est très fréquent d'hériter des classes de Qt, on l'a d'ailleurs déjà fait avec QWidget pour créer une fenêtre personnalisée. Si vous héritez de QLineEdit, sachez donc que vous disposerez aussi de ces méthodes.


Additional Inherited Members



Si des éléments hérités n'ont pas été listés jusqu'ici, on les retrouvera dans cette section à la fin.
Par exemple, la classe QLineEdit ne définit pas de méthodes statiques, mais elle en possède quelques-unes héritées de QWidget et QObject.

Je vous rappelle qu'une méthode statique est une méthode qui peut être appelée sans avoir eu à créer d'objet. C'est un peu comme une fonction.

Il n'y a rien de bien intéressant avec QLineEdit, mais sachez par exemple que la classe QString possède de nombreuses méthodes statiques, comme number() qui convertit le nombre donné en une chaîne de caractères de type QString.

Code : C++
1
QString maChaine = QString::number(12);


Une méthode statique s'appelle comme ceci : NomDeLaClasse::nomDeLaMethode().
On a déjà vu tout ça dans les chapitres précédents, je ne fais ici que des rappels ;)

Detailed description



C'est une description détaillée du fonctionnement de la classe. On y accède notamment en cliquant sur le lien "More..." après la très courte introduction du début.
C'est une section très intéressante que je vous invite à lire la première fois que vous découvrez une classe, car elle vous permet de comprendre avec du recul comment la classe est censée fonctionner.
Ce chapitre était absolument nécessaire car je suis convaincu que vous ne pouvez pas passer à côté de la doc.

Toutes les informations dont vous avez besoin y sont, le tout est d'être capable de les retrouver et de les comprendre. C'est, je l'espère, ce que ce chapitre vous aura aidés à faire. Il s'agissait de faire une sorte de "guide" pour rassurer les débutants qui n'ont jamais vraiment touché à une documentation.

Le concept pour apprendre un langage ou une bibliothèque est donc le suivant :

  1. d'abord on lit des tutoriels qui nous permettent de savoir comment débuter et dans quelle direction chercher ;
  2. et ensuite on consulte la doc pour connaître le détail des fonctions et des classes.

Il n'existe pas de tutoriel qui vous apprendra tout de A à Z sur une bibliothèque comme Qt par exemple. Ca n'aurait pas de sens et ce serait complètement stupide de chercher à faire ça étant donné que cela représenterait un travail énorme qui deviendrait obsolète dès la prochaine mise à jour de Qt.

Le but de mon tutoriel n'est donc pas de "tout vous apprendre" mais de vous apprendre à apprendre. Bien sûr, je ne vous lâche pas dans la nature comme ça : j'ai encore beaucoup de choses à vous expliquer dans ce tutoriel. Mais pensez à lire la doc en parallèle de mes cours, et une fois que vous aurez fini de lire ma prose, ayez le réflexe de consulter la doc à chaque fois que vous en avez besoin.

C'est un vrai réflexe de programmeur :)
Chapitre précédent Sommaire Chapitre suivant

Partager

34 commentaires pour "Apprendre à lire la documentation de Qt"
Note moyenne : 3.85 / 4 (1749 votes)
Pseudo Commentaire
Hors ligne zagaba # Posté le 18/01/2011 à 23:43:52
Vive le Québec libre!
Avatar

J'ai bien aimer, c'est pratique pour quelqu'un qui a jamais lu une Doc (on est sur le site du zér0 quand même).

Malheureusement, la doc a été refaite alors, les images ne sont plus les même. Ce qui est, malheureusement, un peu dérangeant.

Sinon. 9/10. Bravo.

Une journée sans musique est une longue journée....
 
Hors ligne blqke # Posté le 22/02/2011 à 00:46:49
Piece of cake.
Avatar

Études : IUT Bordeaux 1

Comme d'hab', très bon tuto ! La mise à jour du tuto sera sûrement faite d'ici quelques mois, mais la doc ayant été mise à jour pour Qt 4.7, je ne trouve pas les sections Main Classes et Grouped Classes, c'est normal ? Enfin c'est pas très grave je peux toujours utiliser les docs des anciennes version.
Hors ligne Canadadry # Posté le 04/05/2011 à 12:48:21
Avatar

Une petite coquille c'est glissée dans la partie API Lookup, la description de QML Element est erronée, le QML n'est pas basé sur de l'XML mais sur une sorte de JSON
Hors ligne Yorm # Posté le 04/09/2011 à 09:54:33
Avatar

Avis : Très bon

Ville : Saint-genis-laval
Pays : France métropolitaine

super tuto, ce qui ont du mal en anglais peuvent s'aider de Ce site qui traduit le doc de la version 4.7 :p
Hors ligne Sml14 # Posté le 13/05/2012 à 20:29:07
Avatar

Avis : Très bon

Excellent, comme d'hab. Mais la présentation de la doc a changé depuis l'écriture du tuto, il faudrait mettre à jour...

Il faudrait aussi préciser que dans la doc, sur la liste des versions de Qt, il y a des versions en cours de développement (nommées "Snapshots"), et pas encore intégrées à Qt Creator. Choisir la première version en partant du haut n'est donc pas toujours la meilleure démarche.

Image utilisateur
 

Voir tous les commentaires