Algorithmique & Langage C IUT GEII S1 Programmation d'interface Graphique avec Qt Notes de cours (sixième partie)
Licence Partage des Conditions Initiales à l'Identique 2.0 France Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette création au public * de modifier cette création, selon les conditions suivantes : Paternité. Vous devez citer le nom de l'auteur original. Pas d'Utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette création à des fins commerciales. Partage des Conditions Initiales à l'Identique. Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identiqueà celui-ci. * A chaque réutilisation ou distribution, vous devez faire apparaître clairement aux autres les conditions contractuelles de mise à disposition de cette création. * Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits. Ce qui précède n'affecte en rien vos droits en tant qu'utilisateur (exceptions au droit d'auteur : copies réservées à l'usage privé du copiste, courtes citations, parodie...) voir le contrat complet sous : http://fr.creativecommons.org/contrats.htm
La librairie Qt Qt est une bibliothèque multiplateforme qui permet (entre autre) la création d'interface graphique en fournissant des classes adaptées : fenêtres, boutons, menus, .... GUI : graphical user interface UI : user interface Nous utiliserons le logiciel QtCreator : http://qt-project.org/downloads
Notion de Classe / d'Objet Une "Classe" est l'extension de la notion de type. Une classe comporte des variables (attribues) et des fonctions (méthodes). Une Objet est un élément particulier (une instance) de la classe. Exemple : Classe des barres de progression : QprogessBar Une barre particulière (objet) : MyProgressBar
Classe QProgressBar Quelques attribus : simples : int maximum ; int minimum ; int value ; ..... Mais aussi plus complexes (ce sont eux mêmes des classes): Position dans la fenêtre, Couleur, Geometry (dimensions de la barre)
Classe QProgressBar Quelques méthodes : // fonction permettant de changer la valeur setValue(int value); // fonction permettant de connaître la valeur int value(); Hint : Sélectionner le nom de la classe puis faire F1 pour avoir l'aide
MyProgressBar objet de classe QProgressBar // Modifie la valeur : ui->MyProgressBar->setValue(24) ; // Récupère la valeur int v ; v=ui->MyProgressBar->value();
Classe QString Une classe très puissante pour manipuler les chaînes QString ch , ch2 ; Affectation par = : ch = "bonjour"; Comparaison par == : if ( ch == "coucou") { } Concaténation par = : Ch2 = ch + " monsieur"
Classe QString Transformation chaine->nombre : QString ch = "452"; int n ; double x; n = ch.ToInt(); x = ch.ToDouble(); bool ok ; n = ch.ToDouble(&ok); // ok est faux si la conversion est impossible if ( ok ) { // tout va bien } else { //erreur }
Classe QString Transformation nombre → chaine QString ch ; int n = 28 ; ch.SetNum(n) ;