Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Maîtrisez Qt - Guide de développement d'applications professionnelles (3e édition)

Maîtrisez Qt Guide de développement d'applications professionnelles (3e édition)

1 avis

Informations

Livraison possible dès le 26 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-03796-2
  • EAN : 9782409037962
  • Ref. ENI : EP36QT

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-03797-9
  • EAN : 9782409037979
  • Ref. ENI : LNEP36QT
Ce livre sur Qt, à la fois bibliothèque et framework, s'adresse aux professionnels de l'informatique, développeurs débutants ou plus avancés, souhaitant maîtriser cet outil pour écrire du code de qualité et le tester, pour packager des applications et les distribuer sur les différents systèmes d'exploitation pour PC et mobiles, pour améliorer les performances des applications et satisfaire au mieux les exigences des...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Expert
  • Nombre de pages 842 pages
  • Parution novembre 2022
  • Niveau Expert
  • Parution novembre 2022
Ce livre sur Qt, à la fois bibliothèque et framework, s'adresse aux professionnels de l'informatique, développeurs débutants ou plus avancés, souhaitant maîtriser cet outil pour écrire du code de qualité et le tester, pour packager des applications et les distribuer sur les différents systèmes d'exploitation pour PC et mobiles, pour améliorer les performances des applications et satisfaire au mieux les exigences des utilisateurs. L’objectif du livre est de présenter Qt des bases jusqu’aux éléments d’interface graphique multiplateformes. Il ne se substitue pas à la documentation exhaustive des classes de Qt mais en présente certaines pour accompagner le lecteur dans sa découverte. Pour tirer pleinement parti de ce livre, les lecteurs devront posséder des connaissances suffisantes en C++.

Étape par étape, vous comprendrez la structure de la bibliothèque, le modèle objet de Qt et la programmation événementielle pour structurer vos applications et atteindre très vite des objectifs complexes. Lorsque vous maîtriserez ces fondamentaux, vous approfondirez vos connaissances sur les bibliothèques de composants en parcourant tous les modules de Qt : le module réseau (QtNetwork), le module SQL (QtSql), les modules graphiques 2D et 3D (QtGui), les modules de composants d'interface graphique et multimédia (QtWidgets et QtMultimedia) et bien d’autres pour terminer par la vérification de la conformité (QtTest) et le packaging d’une application et sa distribution.

Cette troisième édition prend en compte les nombreuses évolutions de Qt. L’auteur porte une attention particulière à Qt Quick avec un nouveau chapitre présentant le workflow de développement depuis l’intégration des interfaces graphiques avec Qt Design Studio jusqu'au développement avec Qt Creator. Vous découvrirez notamment la programmation en QML, les API Qt Quick, l’intégration avec le code C++ et les API dédiées aux plateformes mobiles (capteurs, positionnement, cartographie, Bluetooth, NFC et achats in-app).

En fin d’ouvrage, un nouveau chapitre présente en pratique le développement d’une application multiplateforme de A à Z avec Qt. Les concepts présentés dans cet ouvrage sont illustrés par des exemples dont le code source est téléchargeable sur le site www.editions- eni.fr.


Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Téléchargements

Introduction
  1. 1. Objectifs et méthode
  2. 2. Glossaire
  3. 3. Qt, qu'est-ce ?
    1. 3.1 Histoire
    2. 3.2 Produits et licences
    3. 3.3 Compatibilité
    4. 3.4 Notoriété
    5. 3.5 Bibliothèque ou framework ?
    6. 3.6 Documentation
  4. 4. Connaissances requises
    1. 4.1 UML
    2. 4.2 Patrons de conception
    3. 4.3 C++
    4. 4.4 JavaScript
  5. 5. Que peut-on faire avec Qt ?
    1. 5.1 Le modèle d’abstraction
    2. 5.2 Les modules de Qt
    3. 5.3 Applications pour PC
    4. 5.4 Applications mobiles
    5. 5.5 Applications serveur et web services
L'environnement de développement
  1. 1. Objectifs
  2. 2. Licence commerciale ou libre ?
    1. 2.1 Propriété intellectuelle et GPL
    2. 2.2 Diffusion de l'application
    3. 2.3 La notion de kit dans Qt
  3. 3. Choisir son compilateur
    1. 3.1 Mono-plateforme ou multi-plateforme ?
    2. 3.2 Maintenabilité du code
  4. 4. Installer l'environnement de développement
    1. 4.1 Ordinateur personnel Mac Mx
    2. 4.2 Ordinateur personnel sous Windows
    3. 4.3 Mini ordinateur Raspberry Pi 4B
    4. 4.4 Tablette Android
    5. 4.5 Première installation
    6. 4.6 Intégrer un autre environnement de compilation
  5. 5. Maintenir à jour son environnement
    1. 5.1 Profiter des dernières nouveautés
    2. 5.2 Gérer le cycle de vie de son application
  6. 6. Utiliser Qt Creator
    1. 6.1 Organisation des projets
    2. 6.2 Fenêtre principale
      1. 6.2.1 Boutons d'accès aux modules
      2. 6.2.2 Boutons de compilation et d'exécution
      3. 6.2.3 Onglets de journaux
    3. 6.3 Module d'édition
    4. 6.4 Module de conception d'interfaces graphiques
    5. 6.5 Module de débogage
    6. 6.6 Module de configuration de projet
    7. 6.7 Module de profilage
  7. 7. Créer une application
  8. 8. Création et gestion des ressources
Les fondations de Qt
  1. 1. Objectifs
  2. 2. Les Types Qt
  3. 3. La classe QObject
    1. 3.1 Entité et identité
    2. 3.2 Thread principal
    3. 3.3 Affinité de thread
    4. 3.4 Signaux et slots
      1. 3.4.1 Le signal
      2. 3.4.2 Le slot
      3. 3.4.3 La connexion
      4. 3.4.4 Différents types de connexion
      5. 3.4.5 L'appel
      6. 3.4.6 Clés de compréhension
    5. 3.5 Arbre d’objets
    6. 3.6 Timers
    7. 3.7 Traduction
    8. 3.8 Propriétés dynamiques
  4. 4. Héritage
    1. 4.1 Généralités
    2. 4.2 Prototype
    3. 4.3 Conversion de types
  5. 5. Optimisation des conteneurs
    1. 5.1 Comptage de références
    2. 5.2 Partage implicite
    3. 5.3 Partage explicite
  6. 6. La classe QVariant
  7. 7. Gestion des erreurs
    1. 7.1 bool *ok = 0
    2. 7.2 error()
  8. 8. Le modèle event-driven
    1. 8.1 Pourquoi Qt est-il orienté événements ?
    2. 8.2 La notion de flux
    3. 8.3 La run-loop
    4. 8.4 La programmation asynchrone
    5. 8.5 Appeler une fonction de façon asynchrone
      1. 8.5.1 L'émission de signaux
      2. 8.5.2 L'utilisation d'un timer
      3. 8.5.3 La fonction invokeMethod
    6. 8.6 Suppression explicite
    7. 8.7 Avantages et inconvénients
    8. 8.8 Gestion des ressources et performances
    9. 8.9 Rendre ses algorithmes non bloquants
      1. 8.9.1 Parcourir une longue liste
      2. 8.9.2 Faire une pause dans le programme
    10. 8.10 Faire dialoguer des objets
  9. 9. Les ressources
  10. 10. Les propriétés
Anatomie d'une application
  1. 1. Objectifs
  2. 2. Application Widget ou Quick ?
    1. 2.1 Application Widget
    2. 2.2 Application Qt Quick
    3. 2.3 Synthèse
  3. 3. Exemples d’architectures classiques
    1. 3.1 Cartographie GPS
    2. 3.2 Gestion du stock
    3. 3.3 Tableau de bord de supervision
  4. 4. Service de flux vidéo pour une webcam
  5. 5. Description d’un projet Qt
    1. 5.1 Contenu d'un projet Qt
    2. 5.2 Création d'une application
      1. 5.2.1 En ligne de commande
      2. 5.2.2 Avec Qt Creator
    3. 5.3 Le fichier projet .pro
      1. 5.3.1 Les directives de projet
      2. 5.3.2 Les directives de chemins
      3. 5.3.3 Les directives de précompilation
  6. 6. Les commandes du toolkit
    1. 6.1 La phase de compilation
Qt Core
  1. 1. Objectifs
  2. 2. Intégration et interactions
  3. 3. Découverte de Qt Core
    1. 3.1 Le méta-objet
    2. 3.2 Introspection
    3. 3.3 Le méta-type
    4. 3.4 Instanciation dynamique
  4. 4. Créer et piloter des threads
    1. 4.1 Paralléliser des tâches
      1. 4.1.1 Les threads pilotés
      2. 4.1.2 Un exemple
      3. 4.1.3 Les tâches simples
      4. 4.1.4 Lancer une tâche asynchrone
    2. 4.2 Synchronisation par blocage et protection
    3. 4.3 Synchronisation par notification
  5. 5. Les structures de données
    1. 5.1 Structures unidimensionnelles
    2. 5.2 Structures multidimensionnelles
    3. 5.3 Rechercher les performances
  6. 6. QByteArray
    1. 6.1 Instanciation
    2. 6.2 Utilisation d’un pointeur existant
    3. 6.3 Rechercher des sous-ensembles
    4. 6.4 Convertir un QByteArray
  7. 7. QBuffer
  8. 8. QString
    1. 8.1 Les chaînes C et les langues accentuées
    2. 8.2 Les normes ISO, Unicode, UCS
    3. 8.3 Échanger des données
    4. 8.4 Composer des chaînes
    5. 8.5 Listes de chaînes de caractères
    6. 8.6 Découper des chaînes de caractères
    7. 8.7 Extraire une sous-chaîne
    8. 8.8 Rechercher une sous-chaîne
    9. 8.9 Construire une chaîne à partir d’un nombre
    10. 8.10 Convertir une chaîne en nombre
    11. 8.11 Connaître la taille de la chaîne
  9. 9. Interactions avec le système d'exploitation
    1. 9.1 Exécuter une commande externe
    2. 9.2 Les fichiers
  10. 10. La gestion des paramètres
    1. 10.1 QSettings
    2. 10.2 Une classe propriétaire
  11. 11. La sérialisation
    1. 11.1 Mécanismes
    2. 11.2 Exemples
  12. 12. Les fichiers XML
    1. 12.1 Écrire dans un fichier XML
    2. 12.2 Lire un fichier XML
  13. 13. Les fichiers JSON
    1. 13.1 Lire un fichier JSON
    2. 13.2 Écrire dans un fichier JSON
  14. 14. Automate à états
    1. 14.1 Automate simple
    2. 14.2 Collaboration entre automates
    3. 14.3 Automate fini
    4. 14.4 Animer les changements de propriétés
  15. 15. Fonctions et types globaux
    1. 15.1 Conversion d’endianisme
    2. 15.2 Types universels
    3. 15.3 Fonctions globales
      1. 15.3.1 Mathématiques
      2. 15.3.2 Utilitaires
    4. 15.4 Macros
    5. 15.5 Fonctions mathématiques avancées
Qt Network
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. Accéder au réseau
    1. 3.1 Portée de Qt Network
    2. 3.2 Appel bloquant vs non bloquant
  4. 4. Sockets
    1. 4.1 Client TCP
      1. 4.1.1 Connexion avec un hôte
      2. 4.1.2 Envoi d'une requête
      3. 4.1.3 Lecture d'une réponse
      4. 4.1.4 Fermeture et nettoyage
    2. 4.2 Serveur TCP
    3. 4.3 Client UDP
      1. 4.3.1 Connexion à un hôte
      2. 4.3.2 Envoi de données
      3. 4.3.3 Lecture des données
      4. 4.3.4 Fermeture de la connexion
  5. 5. Internet
    1. 5.1 Résolution DNS
      1. 5.1.1 Résoudre un nom de machine
      2. 5.1.2 Obtenir les enregistrements d'un nom de domaine
    2. 5.2 Échange de fichiers avec FTP
      1. 5.2.1 Client simple
      2. 5.2.2 Client évolué
    3. 5.3 Connexion à un serveur HTTP
      1. 5.3.1 Création d'une requête
      2. 5.3.2 Exécution de la requête
      3. 5.3.3 Lecture du résultat
      4. 5.3.4 Authentification
    4. 5.4 Le chiffrement avec SSL et TLS
  6. 6. Les interfaces réseau
  7. 7. Les objets distants
    1. 7.1 Vocabulaire
    2. 7.2 Mise en œuvre
  8. 8. Mécanismes communs
    1. 8.1 Connexion point à point
  9. 9. Connexion via un concentrateur
  10. 10. Communications TCP
  11. 11. Versions du protocole
  12. 12. Objets distants en QML
Qt Sql
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. Persistance des données
    1. 3.1 Utilisation d'un serveur de données
    2. 3.2 Ce que Qt Sql permet et ne permet pas
    3. 3.3 Le modèle de conception approprié
  4. 4. Connexion au serveur de données
  5. 5. Effectuer une requête
    1. 5.1 La requête
    2. 5.2 Le résultat
    3. 5.3 Le mode transactionnel
    4. 5.4 Obtenir les métadonnées
    5. 5.5 Rechercher les performances
      1. 5.5.1 Préparation de la requête
      2. 5.5.2 Exécution de la requête
      3. 5.5.3 Stratégie d'instanciation
Qt Gui
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. QGuiApplication et QWindow
    1. 3.1 QGuiApplication
    2. 3.2 QWindow
  4. 4. Rendu 2D
    1. 4.1 Géométrie et positionnement
    2. 4.2 Images
      1. 4.2.1 QImage
      2. 4.2.2 QPixmap
    3. 4.3 Dessin 2D
      1. 4.3.1 Dessiner des formes
      2. 4.3.2 Dessiner du texte
  5. 5. Rendu 3D
Qt Widgets
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. Flux d'application et de GUI
  4. 4. Modèle objet et Vue-Modèle
    1. 4.1 Vue-Modèle
    2. 4.2 Architecture du code
  5. 5. Créer avec Qt Designer
    1. 5.1 Organisation du designer
    2. 5.2 Mise en page
      1. 5.2.1 Ergonomie
      2. 5.2.2 Redimensionnement automatique
      3. 5.2.3 Une mise en page plus complexe
      4. 5.2.4 Modèle objet et relations
  6. 6. Créer « à la main »
  7. 7. Modes SDI et MDI
  8. 8. Créer un menu
  9. 9. Réagir aux événements
  10. 10. Intégrer et afficher les dialogues créés
  11. 11. Feuilles de style
  12. 12. Gestion des événements
  13. 13. Ressources
    1. 13.1 Créer un fichier de ressources
    2. 13.2 Utiliser une ressource dans le designer
    3. 13.3 Accéder à une ressource depuis le code
  14. 14. Widgets personnalisés
  15. 15. Icône de notification (Tray icon)
  16. 16. Composants graphiques 2D
  17. 17. Drag and Drop
    1. 17.1 Initialisation des widgets
    2. 17.2 Mise en place du drag
    3. 17.3 Mise en place du drop
  18. 18. Copier-coller
  19. 19. Ouvrir et enregistrer des fichiers
  20. 20. Généraliser les styles
Qt Quick
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. La terminologie de Qt Quick
  4. 4. Le modèle objet de Qt Quick
  5. 5. Le document QML
    1. 5.1 La déclaration pragma (optionnelle)
    2. 5.2 Les imports
    3. 5.3 L’objet racine
    4. 5.4 Les propriétés
      1. 5.4.1 Les propriétés attachées
      2. 5.4.2 Les propriétés par défaut
      3. 5.4.3 Les propriétés obligatoires
    5. 5.5 Les signaux
    6. 5.6 Les slots
    7. 5.7 Les fonctions JavaScript en ligne
    8. 5.8 Les fichiers JavaScript
    9. 5.9 Les objets enfants
  6. 6. Structure d’un projet Qt Quick
  7. 7. Mettre en forme une scène
    1. 7.1 Le positionnement absolu
    2. 7.2 Les layouts
    3. 7.3 Les positionneurs
    4. 7.4 Les ancres
  8. 8. Vue et contrôleur
  9. 9. États et transitions
  10. 10. Animations et effets
    1. 10.1 Animations
  11. 11. Dessin 2D avec le Canvas
  12. 12. Contrôles riches
  13. 13. Utiliser les styles graphiques
    1. 13.1 Le style « basique »
    2. 13.2 Le style « Fusion »
    3. 13.3 Le style « Imagine »
    4. 13.4 Le style « macOS »
    5. 13.5 Le style « Material »
    6. 13.6 Le style « Universal »
    7. 13.7 Le style « Windows »
    8. 13.8 Utiliser un style
      1. 13.8.1 À la compilation
      2. 13.8.2 Pendant l’exécution
  14. 14. Formes graphiques
  15. 15. Effets graphiques
  16. 16. Types globaux de Qt Quick
    1. 16.1 Les propriétés du Type global Qt
    2. 16.2 Les fonctions du type global Qt
    3. 16.3 Le Type QML Application
  17. 17. Créer ses propres Types QML
  18. 18. L’intégration avec C++
    1. 18.1 Exposer des classes C++ en QML
      1. 18.1.1 Méthodes alternatives
    2. 18.2 Propriété des objets
    3. 18.3 Intégrer des bibliothèques externes
  19. 19. Stocker des données
    1. 19.1 Le Type QML Settings
    2. 19.2 Le Type LocalStorage
  20. 20. Créer des requêtes réseau
    1. 20.1 Utiliser des composants QML distants
    2. 20.2 Effectuer des requêtes HTTP
    3. 20.3 Charger des fichiers locaux
    4. 20.4 Utiliser les WebSockets
  21. 21. Autres API
  22. 22. Qt Design Studio
    1. 22.1 Découverte de l’interface
    2. 22.2 Création d’un projet
      1. 22.2.1 Les composants invisibles
      2. 22.2.2 Les données
  23. 23. Convertir un projet d’interface graphique en application
  24. 24. Créer les contrôleurs et tester l’application
    1. 24.1 Le contrôleur
    2. 24.2 Réaction aux événements
    3. 24.3 Déclenchement des actions
    4. 24.4 Conception rapide d’une application
      1. 24.4.1 Définir un flux applicatif
      2. 24.4.2 Appliquer des effets aux transitions
      3. 24.4.3 Personnaliser les courbes de progression
      4. 24.4.4 Établir des conditions dans les transitions
      5. 24.4.5 Changer l’état d’un composant
    5. 24.5 Conception d’animations
Qt Multimedia
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. Audio
    1. 3.1 Lister les périphériques
    2. 3.2 Enregistrer du son
    3. 3.3 Lire un fichier
  4. 4. Vidéo
    1. 4.1 Enregistrer une vidéo
    2. 4.2 Lire une vidéo
  5. 5. Caméra
    1. 5.1 Afficher en direct
    2. 5.2 Enregistrer en direct
  6. 6. Radio
    1. 6.1 Lire un flux radio
    2. 6.2 Enregistrer un flux radio
Les modules graphiques et web
  1. 1. Objectifs
  2. 2. Qt Svg
    1. 2.1 Intégration
    2. 2.2 Rendu et affichage
    3. 2.3 Exporter au format SVG
  3. 3. QtPrintSupport
    1. 3.1 Intégration
    2. 3.2 Choisir l'imprimante
    3. 3.3 Imprimer un dessin
    4. 3.4 Imprimer un widget
    5. 3.5 Imprimer du texte
  4. 4. QtWebkitWidgets
    1. 4.1 Intégration
    2. 4.2 Afficher une page web
    3. 4.3 Accéder au DOM
    4. 4.4 Bases de données HTML 5
  5. 5. Qt Charts
    1. 5.1 Installation
    2. 5.2 Licences
    3. 5.3 Intégration
    4. 5.4 Présentation
    5. 5.5 Principe général
    6. 5.6 Créer un diagramme en C++
    7. 5.7 Créer un diagramme en QML
    8. 5.8 Diagramme à barres
      1. 5.8.1 C++
      2. 5.8.2 QML
      3. 5.8.3 Variantes
    9. 5.9 Diagramme circulaire
      1. 5.9.1 C++
      2. 5.9.2 QML
      3. 5.9.3 Variantes
    10. 5.10 Diagramme à lignes
      1. 5.10.1 C++
      2. 5.10.2 QML
    11. 5.11 Diagramme à surface
      1. 5.11.1 C++
      2. 5.11.2 QML
    12. 5.12 Diagramme à points
      1. 5.12.1 C++
      2. 5.12.2 QML
    13. 5.13 Diagramme à chandelles
      1. 5.13.1 C++
      2. 5.13.2 QML
    14. 5.14 Combiner les diagrammes
    15. 5.15 Modifier la légende
    16. 5.16 Manipuler les axes
    17. 5.17 Utiliser des thèmes de couleurs
    18. 5.18 Interagir avec un diagramme
API pour les plateformes mobiles
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. L’environnement de développement
    1. 3.1 Préparation
    2. 3.2 Configuration
  4. 4. Exécution d’une application
  5. 5. Capteurs
    1. 5.1 Utilisation générique
    2. 5.2 Obtenir la liste des capteurs disponibles
    3. 5.3 Lire les valeurs d’un capteur
    4. 5.4 Lecture asynchrone
    5. 5.5 Filtrer les données
  6. 6. Positionnement
    1. 6.1 Cas d’usage
      1. 6.1.1 Position courante en C++
      2. 6.1.2 Position courante en QML
  7. 7. Cartographie
    1. 7.1 Cartes et navigation
      1. 7.1.1 Afficher un plan en QML
      2. 7.1.2 Changer le type de carte
    2. 7.2 Lieux et points d’intérêt
      1. 7.2.1 Afficher la position courante
      2. 7.2.2 Utiliser une adresse postale
      3. 7.2.3 Mettre en évidence un point d’intérêt
      4. 7.2.4 Calculer un itinéraire
  8. 8. Bluetooth
    1. 8.1 Cas d’utilisation
      1. 8.1.1 Obtenir des informations sur le périphérique Bluetooth
      2. 8.1.2 Rechercher des appareils distants
      3. 8.1.3 Envoyer un fichier
      4. 8.1.4 Échanger en direct entre périphériques
      5. 8.1.5 Envoyer des notifications par Bluetooth LE
  9. 9. NFC
    1. 9.1 Cas d’utilisation
      1. 9.1.1 Recevoir des tags NFC
      2. 9.1.2 Envoyer un message
  10. 10. Achats in-app
    1. 10.1 Cas d’utilisation
      1. 10.1.1 Enregistrer des achats in-app
      2. 10.1.2 Effectuer un achat
      3. 10.1.3 Restaurer les achats précédents
Qt Test - qualité du code
  1. 1. Objectifs
  2. 2. Intégration
  3. 3. Scénario de tests
  4. 4. Tests unitaires et couverture de code
    1. 4.1 Les assertions
    2. 4.2 Exécution des tests
    3. 4.3 Diversifier les données
    4. 4.4 Événements GUI
    5. 4.5 Tester les performances
  5. 5. Non-régression
Traduction d’une application
  1. 1. Objectifs
  2. 2. Cycle de traduction
  3. 3. Rendre traduisible son application
    1. 3.1 Code source
    2. 3.2 Vues
  4. 4. Traduire son application
    1. 4.1 Langue et région
    2. 4.2 Traduction de l'application
      1. 4.2.1 Exportation des textes
      2. 4.2.2 Traduction des textes
      3. 4.2.3 Compilation des traductions
    3. 4.3 Intégration des traductions
  5. 5. Contexte de traduction
Publication d'une application
  1. 1. Objectifs
  2. 2. Comprendre les licences
  3. 3. Les dépendances
  4. 4. Créer un installeur universel
  5. 5. Créer un installeur spécifique à Windows
    1. 5.1 Programme compilé avec Microsoft Visual C++
    2. 5.2 Programme compilé avec mingw
  6. 6. Créer un installeur pour OS X
    1. 6.1 Bundle
      1. 6.1.1 Création
      2. 6.1.2 Signature
    2. 6.2 Fichier DMG
    3. 6.3 Paquet d'installation
  7. 7. Créer un paquet pour Debian/Ubuntu
    1. 7.1 Arborescence
    2. 7.2 Fichier de contrôle
    3. 7.3 Création du paquet
  8. 8. Inclure les plug-ins de Qt
    1. 8.1 Windows
    2. 8.2 OS X
    3. 8.3 GNU/Linux
  9. 9. Tester son application
Application de A à Z
  1. 1. Objectifs
  2. 2. Analyse du besoin
  3. 3. Analyse technique
  4. 4. Codage
    1. 4.1 Les tests unitaires
    2. 4.2 Les classes C++
      1. 4.2.1 Le format de message
      2. 4.2.2 La classe Message
      3. 4.2.3 L’outillage de formatage des messages
      4. 4.2.4 La fabrique à messages
      5. 4.2.5 Le Contrôleur réseau
      6. 4.2.6 Exposition du Contrôleur en QML
    3. 4.3 Les fichiers QML
      1. 4.3.1 Le point d’entrée App.qml
      2. 4.3.2 La Vue de chat
      3. 4.3.3 La Vue des participants
  5. 5. Traduction
    1. 5.1 Les tests unitaires (suite)
  6. 6. Compilation sur smartphone
    1. 6.1 Smartphone iOS
    2. 6.2 Smartphone Android
    3. 6.3 Tests finaux
  7. 7. Finalisation et empaquetage
    1. 7.1 Préparation de l’application
    2. 7.2 Création du projet d’installeur
Techniques d'optimisation
  1. 1. Objectifs
  2. 2. Langages et mode de pensée
  3. 3. Notions de C++ indispensables
    1. 3.1 Pointeurs et références
      1. 3.1.1 Pointeurs C
      2. 3.1.2 Références
    2. 3.2 Copie d'objets
      1. 3.2.1 Copie superficielle (shallow copy)
      2. 3.2.2 Copie en profondeur (deep copy)
      3. 3.2.3 Copie paresseuse (lazy copy)
      4. 3.2.4 Partage implicite
  4. 4. Optimisations
    1. 4.1 Le modèle objet
    2. 4.2 Le cycle de vie des objets
    3. 4.3 Les classes optimisées
      1. 4.3.1 QByteArray
      2. 4.3.2 QStringRef
    4. 4.4 Optimiser l’utilisation du processeur
  5. 5. Quelques particularités de Qt
    1. 5.1 Types primitifs
    2. 5.2 Gestion de la mémoire
      1. 5.2.1 Cycle de vie
      2. 5.2.2 Structures de données
    3. 5.3 STL, Boost et Qt
    4. 5.4 Réentrance
    5. 5.5 Exceptions
  6. 6. Lectures complémentaires
  7. Index
5/5 1 avis

Très bien, excellents ouvrages, diversité des moyens de paiement (paypal...)

PHILIPPE P
Auteur : Tristan ISRAËL

Tristan ISRAËL

Ingénieur et titulaire d’un MBA (Master in Business Administration), Tristan Israël est développeur professionnel C et C++ depuis 1997 et spécialisé sur Qt depuis 2005. Aujourd’hui architecte et expert en génie logiciel, il apporte son expertise à de grands acteurs de l’industrie de pointe pour l’amélioration de la qualité et de la sécurité de leurs systèmes d’information. Au travers de formations professionnelles sur Qt qu’il dispense au sein du programme CapTronic de Jessica France (CEA et BPI France), il aide les professionnels à acquérir les connaissances nécessaires à la réalisation de produits industriels de qualité. Titulaire des certifications Qt Digia, il partage dans les pages de ce livre sa passion pour cette plateforme qui lui permet de concilier le plaisir d'utiliser les technologies C avec le respect de la qualité fonctionnelle et ergonomique des applications qu'il crée.
En savoir plus

Nos nouveautés

voir plus