Modificateurs de filtre anti-abus, Bureaucrates, Administrateurs d’interface, Exemptés de blocage d’IP, Administrateurs
28 868
modifications
(→Exercice : la fenêtre se ferme après avoir cliquer sur un bouton : cliquer -> cliqué) |
(<source> bientôt obsolète, remplacé par <syntaxhighlight>) |
||
{{FichierDébut|Telechargement.h|largeur=70%|info=(extrait) Définition du signal|icon=Crystal128-source-h.svg}}
<
class Telechargement: public QObject
{
// ...
}
</syntaxhighlight>
{{FichierFin}}
{{FichierDébut|Telechargement.cpp|largeur=70%|info=(extrait) Utilisation du signal|icon=Crystal128-source-cpp.svg}}
<
void Telechargement::Terminer()
{
emit fichierRecu( this->m_chemin_fichier );
}
</syntaxhighlight>
{{FichierFin}}
{{FichierDébut|Stockage.h|largeur=70%|info=(extrait) Déclaration des slots|icon=Crystal128-source-h.svg}}
<
class Stockage: public QObject
{
// ...
}
</syntaxhighlight>
{{FichierFin}}
{{FichierDébut|Stockage.cpp|largeur=70%|info=(extrait) Définition des slots|icon=Crystal128-source-cpp.svg}}
<
// ...
// ...
</syntaxhighlight>
{{FichierFin}}
{{FichierDébut|Main.cpp|info=(extrait) Connextion entre signaux et slots|icon=Crystal128-source-cpp.svg}}
<
// ...
// ...
</syntaxhighlight>
{{FichierFin}}
Par exemple, pour successivement copier puis supprimer le fichier et enfin afficher un message quand le téléchargement est terminé :
{{FichierDébut|Main.cpp|info=(extrait) Connextion entre signaux et slots|icon=Crystal128-source-cpp.svg}}
<
// ...
// ...
</syntaxhighlight>
{{FichierFin}}
<code>connect()</code> est une méthode statique. On écrit donc :
<
La méthode <code>connect</code> prend 4 arguments :
===Exercice : la fenêtre se ferme après avoir cliqué sur un bouton===
Lançons-nous dans la création du code de <code>mafenetre.cpp</code>.
<syntaxhighlight lang="cpp-qt">
//main.cpp
#include <QApplication>
return app.exec();
}
</syntaxhighlight>
<
//MaFenetre.h
#ifndef DEF_MAFENETRE
#endif
</syntaxhighlight>
<
//MaFenetre.cpp
#include "MaFenetre.h"
QObject::connect(m_bouton, SIGNAL(clicked()), qApp, SLOT(quit()));
}
</syntaxhighlight>
Exécutons la commande <code>qmake</code>, puis testons notre code. Une fenêtre s'ouvre.
Voici le code:
<
//MaFenetre.h
#ifndef DEF_MAFENETRE
#endif
</syntaxhighlight>
<
#include "MaFenetre.h"
QObject::connect(m_aPropos, SIGNAL(clicked()), qApp, SLOT(aboutQt()));
}
</syntaxhighlight>
On compile maintenant, et le bouton "Quitter" ferme toujours l'application. Quant à "À propos", il provoque l'ouverture de la fenêtre "À propos de Qt".
|