Cours:InfoS3 POO : Différence entre versions
m |
(→Pour aller plus loin) |
||
(5 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 11 : | Ligne 11 : | ||
<!--*[[Cours:DevoirPOO1|Évaluation n°1]]--> | <!--*[[Cours:DevoirPOO1|Évaluation n°1]]--> | ||
− | *[[Cours:DevoirPOO2|Évaluation n°2]] | + | *[[Cours:DevoirPOO2Ressources|Évaluation n°2 ressources]] |
+ | *[[Cours:DevoirPOO2|Évaluation n°2 sujet]] | ||
*[[Cours:DevoirMaisonPOO1|Devoir maison n°1]] | *[[Cours:DevoirMaisonPOO1|Devoir maison n°1]] | ||
Ligne 63 : | Ligne 64 : | ||
*[[Cours:HeritageWidgetQT|séance 7 (1,5h) : spécialisation de Widgets]] | *[[Cours:HeritageWidgetQT|séance 7 (1,5h) : spécialisation de Widgets]] | ||
*[[Cours:TPqtFNS|séance 8 (3h) : Machine à état fini ("pi4") ]] | *[[Cours:TPqtFNS|séance 8 (3h) : Machine à état fini ("pi4") ]] | ||
− | *[[Cours: | + | *[[Cours:pointeursCpp|séance 9 (1,5h) : manipulation de pointeurs/références]] |
− | *[[Cours: | + | *[[Cours:qtTCP|séance 10 (1,5h) : Révisions ou communication entre 2 cartes par TCP]] |
Ligne 70 : | Ligne 71 : | ||
=Pour aller plus loin= | =Pour aller plus loin= | ||
− | + | *[[Cours:diyWidgetQT|Créer son widget]] | |
*[[Cours:TPgpioControleur|Tp 2 : contrôleur de lampes]] | *[[Cours:TPgpioControleur|Tp 2 : contrôleur de lampes]] | ||
+ | *[[Cours:gitQtCreator|Utilisation de git avec qt creator]] | ||
=Ressources= | =Ressources= |
Version actuelle datée du 13 octobre 2024 à 16:15
Sommaire
Pratique
- Pour installer QT Creator (ainsi que C++ et Qt) sous de nombreux OS : suivre ce tutoriel
https://guillaumebelz.github.io/qtinstall/
- Guide d'installation de Qt par Geoffrey Lecoq (merci à lui) : Fichier:GuideQT Lecoq.pdf
Évaluations
Cours magistral
Diapositives et support de cours
- Diapositives de la partie Introduction : Media:POOintro.pdf
- Diapositives de la partie Notions : Media:POOnotions.pdf
- Diapositives de la partie Approfondissements : Media:POOapprofondissements.pdf
- Support de cours imprimable : Media:POOsupport.pdf
Projets de démonstration de CM
- Projet
minimal
: Media:minimal.zip - Projet
simpleNonOOCar
: Media:simpleNonOOCar.zip - Projet
simpleOOCar
: Media:simpleOOCar.zip - Projet
twoOOCars
: Media:twoOOCars.zip - Projet
formes_start
: Media:formes_start.zip - Projet
formes
: Media:formes.zip - Projet
formes_nonpolymorphes
Media:formes_nonpolymorphes.zip - Projet
formes_polymorphes
Media:formes_polymorphes.zip
Lecture externes potentiellement utiles
Cours de POO d'openclassrooms :
1. Découvrez La notion de programmation orientée objet (POO)
2. Programmez en orienté objet avec C++
Les pointeurs et leur utilisation avec des objets :
2. Associez les classes et les pointeurs
Séances : C++ sous QT Creator
- séance 1 (1,5h) : découverte du C++ et de QT Creator
- séance 2 (3h) : création de classes et manipulation d'objets
- Evaluation (1,5h)
- séance 3 (1,5h) : 1ère interface graphique
- séance 4 (1,5h) : classe avec slot et émission de signal
- séance 5 (3h) : GPIO (pi4)
- séance 6 (4,5h): on hérite ! (pi4)
- séance 7 (1,5h) : spécialisation de Widgets
- séance 8 (3h) : Machine à état fini ("pi4")
- séance 9 (1,5h) : manipulation de pointeurs/références
- séance 10 (1,5h) : Révisions ou communication entre 2 cartes par TCP
- Evaluation (3h) (pi4)
Pour aller plus loin
Ressources
Logiciel
Vm Qt Creator
Vous pouvez utiliser l'image VirtualBox suivante sur laquelle QtCreator est installé
https://drive.google.com/file/d/1BdVNnAtpYM14ztf215gBVx5b2P8iAAix/view?usp=sharing
Le mot de passe est geii
Simulation de gpio
- simulateur leds/bp/interrupteur
- dans la machine virtuelle VirtualBox
- au besoin supprimer le fichier GpioSimulateur.zip dans le répertoire "Téléchargements"
- télécharger Media:GpioSimulateur.zip dans le répertoire "Téléchargements"
- lancer un "émulateur de Terminal", taper les commandes :
cd ~/Téléchargements/
rm gpioSimulateur
unzip GpioSimulateur.zip
chmod +x gpioSimulateur
./gpioSimulateur
Vrac
Nomenclature diagramme objet
Autres pages wiki utiles
Cas particuliers
surcharge et signaux/slots
Il faudra indiquer au compilateur le type des paramètres pour faire le choix du bon signal et/ou slot :
connect(ui->doubleSpinBox,QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this,&MainWindow::afficheDouble);
connect(ui->doubleSpinBox,QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this,QOverload<double>::of(&MainWindow::affiche));
connect(ui->doubleSpinBox,QOverload<const QString &>::of(&QDoubleSpinBox::valueChanged),
this,QOverload<const QString &>::of(&MainWindow::affiche));