travaux pratiques tp sur qt-widgets 2 année qt ... - sur qt-widgets.pdf · pdf...

Click here to load reader

Post on 26-Dec-2020

10 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Travaux Pratiques

    Qt (Widgets)

    TP sur QT-Widgets 2ème année

    Page:1/30

    http://robert.cireddu.free.fr/SNIR/

    Extrait du référentiel : BTS Systèmes Numériques option A (Informatique et Réseaux) Niveau(x)

    S4. Développement logiciel

    S4.6.Programmation orientée objet

    S4.9.Programmation événementielle

    Mécanisme d’héritage

    Classes abstraites, virtualité

    Programmation générique : patrons de

    développement (design

    patterns)

    Gestion des événements, signaux et interruptions

    4

    3

    1

    3

    Objectifs du TP :

    - Qt, c’est quoi ? (historique, compatibilité, bibliothèque ou framework, documentation)

    - Installer l’IDE (compilateur, plug-ins Qt)

    - Intégrer un autre environnement de compilation

    - Installation de Qt (offline)

    - QtWidgets

    - Une première fenêtre

    - Un premier bouton

    - Mécanisme Signal/Slot

    - Layout

    Support d’activité :

    - Logiciels : Qt 4.7.4, Qt creator, suite bureautique

    - Internet

    - Ce document au format PDF

    Vous rédigerez un compte-rendu numérique.

    Pensez aux captures d’écran pour imager votre compte-rendu.

    Sauvegardez votre travail régulièrement !

    Des modifications peuvent exister selon la version du logiciel utilisée.

  • Travaux Pratiques

    Qt (Widgets)

    TP sur QT-Widgets 2ème année

    Page:2/30

    Si c’est votre première activité sur Qt, vous poursuivez ci-dessous. Dans le cas contraire vous poursuivez en cliquant sur ce lien.

    Qt ? Qt se prononce /kju:t/, comme le mot anglais « cute » qui peut être traduit par mignon. C’est un ensemble de bibliothèques de composants C++ réutilisables, ou API (Application Programming Interface). Il a pour slogan : « Codez une fois, déployez partout ». Sa particularité est, en effet, de disposer d’API adaptées à un grand nombre de systèmes d’exploitation pour PC (Windows, GNU/Linux, OS X), mais aussi pour mobiles (Symbian, Android, iOS). Ces API sont organisées en modules, selon la terminologie Qt, possédant chacun une spécialité : le réseau, les bases de données, les graphismes 3D, les interfaces fenêtrées, etc. Le SDK (Software Development Kit) Qt est disponible sous forme de code compilé que vous pourrez lier directement à votre programme, ou sous la forme de code source compilable sur votre plateforme. Il est généralement fourni avec Qt Creator, un EDI (Environnement de Développement Intégré) compatible avec tous les systèmes PC et la plupart des compilateurs.

    HISTORIQUE Le projet Qt est né en Norvège en 1991, grâce à Haavard Nord et Eirik Chambe-Eng. En 1988, le premier s’est vu confier par une entreprise suédoise la conception et la réalisation d’une bibliothèque de développement d’interfaces graphiques. Après deux années de réflexion sur le sujet, les deux hommes entament le développement de la bibliothèque, et au terme de plusieurs années d’efforts, le cœur de Qt est créé. Celui-ci repose sur les concepts de signaux et de « slots » qui sont à la base de la programmation événementielle. À partir de ce cœur, les développements des composants graphiques ont débuté et les premiers « widgets » virent le jour. La société Trolltech est créée. La version 1.0 de Qt est publiée à la fin du mois de septembre 1996. L’année suivante, Matthias Ettrich (aussi connu pour avoir créé le logiciel LyX) lança le projet KDE, un environnement de bureau pour les distributions GNU/Linux basé sur la bibliothèque Qt. La version 2.0 fut publiée en juin 1999 et un nouveau projet nommé Qtopia est présenté, celui-ci offre le support des systèmes embarqués sous Linux et X11. La version 3.0, publiée en 2001 introduit le support de Mac OS X en plus de Windows et de X11. Elle améliore aussi le support de l’internationalisation, de la gestion des pages de code pour les chaînes de caractères (Unicode notamment) et un interpréteur d’expressions rationnelles. La version 4.0, arrivée en 2005 apporte un grand nombre d’améliorations, en particulier dans l’affichage, et introduit la séparation des API en modules spécialisés (cœur, affichage, données, OpenGL, etc.). La conception Vue-Modèle est alors introduite pour les composants graphiques du type tableaux et listes. Un interpréteur de scripts ECMA (JavaScript) est ajouté, tout comme l’implémentation du moteur WebKit développé par Apple et Nokia pour le rendu des pages web. La licence open source passe alors de GPL en LGPL, et permet aux entreprises de développer des logiciels avec Qt et de les commercialiser plus librement.

    La version 5.0, publiée à la toute fin de l’année 2012 donne une part plus importante au langage QML et à QtQuick, des technologies introduites dans Qt 4.7 dans le but de faciliter la création de

  • Travaux Pratiques

    Qt (Widgets)

    TP sur QT-Widgets 2ème année

    Page:3/30

    maquettes et prototypes. Ces technologies seront bientôt au centre des développements d’applications sur mobiles notamment. Une réorganisation mineure des API provoque l’apparition de nouveaux modules comme QtWidgets. La version 5.2 introduit le support de nombreuses plateformes mobiles comme Android, iOS et Windows Mobile ; les versions suivantes ajoutent de nombreuses API permettant d’utiliser les fonctionnalités propres à ces plateformes (GPS, NFC, Bluetooth, cartographie entre autres). Enfin, depuis la version 5.9, Qt propose « Qt for devices et Boot to Qt » qui permettent de déployer sur de très nombreuses plateformes embarquées, y compris les mobiles, vos applications Qt ainsi qu’une couche système basée sur Qt. Vous pouvez maintenant créer une sorte de système d’exploitation à déployer sur les systèmes embarqués. Qt a changé de propriétaire à plusieurs reprises, en 2008 un autre groupe norvégien, Nokia, rachète la société Trolltech et le « framework » Qt. Trolltech devient Qt Software et est intégrée au groupe Nokia. C’est Nokia qui permettra l’adoption de Qt par un très grand nombre d’entreprises en facilitant son utilisation grâce à un changement de politique de licence et en ouvrant le projet aux autres développeurs. Depuis août 2012, Qt appartient à la société Digia. Celle-ci a choisi d’orienter le « framework » vers les plateformes mobiles avec le support d’iOS, Windows 8 et Android, tout en renforçant la version pour PC.

    COMPATIBILITÉ Aujourd’hui, Qt est disponible directement (ou indirectement) pour les plateformes suivantes :  Original : Windows, Universal Windows Platform (UWP), X11, Embedded Linux, macOs, iOS,

    Android, VxWorks, Windows CE, QNX/Blackberry 10, Wayland, INTEGRITY.  Portages : OpenSolaris, Haiku, OS/2, AmigaOS et Tizen. Des supports expérimentaux existent

    aussi pour webOS et Amazon Kindle.  Architectures : MIPS, ARMv7 et ARM64, x86 et x86_64.

    BIBLIOTHÈQUE OU FRAMEWORK ? Une bibliothèque, oui elle l’est car elle composée de modules contenant des API compilées et regroupées dans des fichiers de bibliothèques statiques ou dynamiques. On considère aussi généralement que c’est un « framework » car il impose une norme dans la façon de concevoir son programme et de le développer. Qt introduit de nouveaux mots-clés et opérateurs, dont certains sont inconnus des compilateurs, ainsi qu’un formalisme dans les fichiers d’en-têtes. Enfin, comme Qt est accompagné de nombreux outils qui vous permettront de dessiner vos interfaces graphiques, de les traduire, de compiler le macrocode, etc., on considère aussi que Qt est un « toolkitgraphique ».

    DOCUMENTATION La documentation de Qt est plutôt vaste et relativement bien faite. Elle souffre cependant d’une petite faiblesse du moteur de recherche dont les résultats affichés en premier ne sont pas toujours les plus pertinents. Celle-ci est accessible librement à l’adresse : https://doc.qt.io/ Vous y trouverez un guide de démarrage, des tutoriels, des exemples et bien évidemment la documentation de référence des API et des classes. Cette dernière est accessible directement à l’adresse : https://doc.qt.io/qt-5/classes.html

    https://doc.qt.io/ https://doc.qt.io/qt-5/classes.html

  • Travaux Pratiques

    Qt (Widgets)

    TP sur QT-Widgets 2ème année

    Page:4/30

    Vous pourrez naviguer directement dans la liste des classes triées par nom. Vous pourrez aussi choisir de consulter la liste des classes par module en consultant la page : https://doc.qt.io/qt- 5/qtmodules.html Enfin, une documentation du logiciel Qt Creator, l’EDI fourni dans le SDK, est disponible à l’adresse : http://doc.qt.io/qtcreator/index.html

    INSTALLER L’IDE Avant de commencer à développer avec Qt, il faut installer et configurer l’environnement de développement. Qt ne contient qu’un ensemble de bibliothèques, quelques utilitaires et un EDI. Vous êtes responsable de l’installation du compilateur et du débogueur.

    Si vous souhaitez installer Qt chez vous, vous pouvez suivre les indications ci-après permettant une installation « on line ». Pour l’activité nous utiliserons Qt en version 4.7.4 se trouvant dans le dossier « Support/Soft » de l’activité.

    LE COMPILATEUR

    Après avoir choisi le compilateur que vous souhaitez utiliser, vous

View more