Cours:InfoS3 POO : Différence entre versions
(→Tds : C++ sous QT Creator) |
|||
(36 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 8 : | Ligne 8 : | ||
= Évaluations = | = Évaluations = | ||
− | *[[Cours: | + | *[[Cours:DevoirPOOcpp2|Évaluation n°1]] |
− | *[[Cours:DevoirPOO1|Évaluation n°1]] | + | <!--*[[Cours:DevoirPOO1|Évaluation n°1]]--> |
− | *[[Cours: | + | *[[Cours:DevoirPOO2|Évaluation n°2]] |
+ | *[[Cours:DevoirMaisonPOO1|Devoir maison n°1]] | ||
= Cours magistral= | = Cours magistral= | ||
Ligne 31 : | Ligne 32 : | ||
* Projet <code>formes_start</code> : [[Media:formes_start.zip]] | * Projet <code>formes_start</code> : [[Media:formes_start.zip]] | ||
* Projet <code>formes</code> : [[Media:formes.zip]] | * Projet <code>formes</code> : [[Media:formes.zip]] | ||
+ | * Projet <code>formes_nonpolymorphes</code> [[Media:formes_nonpolymorphes.zip]] | ||
+ | * Projet <code>formes_polymorphes</code> [[Media:formes_polymorphes.zip]] | ||
== Lecture externes potentiellement utiles == | == Lecture externes potentiellement utiles == | ||
− | ''' | + | '''Cours de POO d'openclassrooms''' : |
− | 1. [https://openclassrooms.com/fr/courses/ | + | 1. [https://openclassrooms.com/fr/courses/7137751-programmez-en-oriente-objet-avec-c/7673331-decouvrez-la-notion-de-poo Découvrez La notion de programmation orientée objet (POO)] |
− | 2. [https://openclassrooms.com/fr/courses/ | + | 2. [https://openclassrooms.com/fr/courses/7137751-programmez-en-oriente-objet-avec-c Programmez en orienté objet avec C++] |
− | + | '''Les pointeurs et leur utilisation avec des objets''' : | |
− | + | 1. [https://openclassrooms.com/fr/courses/1894236-apprenez-a-programmer-en-c/7534366-declarez-les-pointeurs Déclarez les pointeurs] | |
− | + | 2. [https://openclassrooms.com/fr/courses/7137751-programmez-en-oriente-objet-avec-c/7531356-associez-les-classes-et-les-pointeurs Associez les classes et les pointeurs] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!-- [[media:POO-Support.pdf|Support de cours en pdf (à télécharger)]] | <!-- [[media:POO-Support.pdf|Support de cours en pdf (à télécharger)]] | ||
Ligne 57 : | Ligne 54 : | ||
=Tds : C++ sous QT Creator= | =Tds : C++ sous QT Creator= | ||
− | + | *[[Cours:pooTD1_qtcreator|TD 1 : découverte du C++ et de QT Creator]] | |
− | + | *[[Cours:pooTD2_classes|TD 2 : création de classes et manipulation d'objets]] | |
− | + | *[[Cours:interfaceQT|TD 3 : 1ère interface graphique]] | |
+ | *[[Cours:signalSlotQT|TD 4 : classe avec slot et émission de signal]] | ||
+ | *[[Cours:pointeursCpp|TD 5 : manipulation de pointeurs/références]] | ||
+ | *[[Cours:TPheritageIO|TD 6 : Préparation/fin du TP héritage]] | ||
+ | *[[Cours:HeritageWidgetQT|TD facultatif : spécialisation de Widgets]] | ||
− | = | + | =Tps= |
− | + | *[[Cours:TPgpioQT|Tp 1 : GPIO]] | |
+ | *[[Cours:TPgpioControleur|Tp 2 : contrôleur de lampes]] | ||
+ | *[[Cours:TPheritageIO|Tp 3 : on hérite !]] | ||
− | == | + | =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== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | =Simulation de gpio= | ||
*simulateur leds/bp/interrupteur | *simulateur leds/bp/interrupteur | ||
Ligne 98 : | Ligne 94 : | ||
=Vrac= | =Vrac= | ||
+ | |||
+ | ==[[Cours:POONomenclature|Nomenclature diagramme objet]]== | ||
+ | |||
+ | ==Autres pages wiki utiles== | ||
+ | *[[Cours:modulesGrove]] | ||
*[[Cours:rpi]] | *[[Cours:rpi]] | ||
*[[Cours:pooQT]] | *[[Cours:pooQT]] | ||
*[[Cours:QT]] | *[[Cours:QT]] | ||
+ | *[[Cours:infoS3_POO_archives]] | ||
+ | =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 : | |
− | = | + | <source lang=cpp> |
+ | 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)); | ||
+ | </source> |
Version actuelle datée du 19 octobre 2023 à 19:32
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
Tds : C++ sous QT Creator
- TD 1 : découverte du C++ et de QT Creator
- TD 2 : création de classes et manipulation d'objets
- TD 3 : 1ère interface graphique
- TD 4 : classe avec slot et émission de signal
- TD 5 : manipulation de pointeurs/références
- TD 6 : Préparation/fin du TP héritage
- TD facultatif : spécialisation de Widgets
Tps
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));