« Programmation Qt/TP : un éditeur de texte » : différence entre les versions

Contenu supprimé Contenu ajouté
Athozus (discussion | contributions)
m précision
Athozus (discussion | contributions)
→‎Fonctions et méthodes : + Informations
Ligne 26 :
 
=== Variables et attributs ===
Je vous propose de faire du <code>QTextEdit</code> un attribut de la classe <code>MainWindow</code> pour qu'il soit facilement accessible par les méthodes de notre programme. De même, le nom du fichier, un <code>QString</code>, sera un attribut car il servira à l'utilisateur pour qu'il enregistre plus simplement, sans entrer le nom du fichier. Pour cela, on stockera aussi le chemin ''absolu'', lui aussi dans un <code>QString</code>. Ainsi, ou pourra retrouver le dossier en supprimant le nom du fichier au chemin absolu.
 
=== Fonctions et méthodes ===
Voici une liste utile de fonctions et méthodes nécessaires pour la réalisation du programme. En fait, on les mettra dans des slots.
 
* '''<code>void openDocument()</code>''' : Ouvrir un document.
Ligne 36 :
* '''<code>void find()</code>''' : Rechercher.
* '''<code>void stats()</code>''' : Statistiques du document.
 
Analysons maintenant le fonctionnement de ces méthodes.
 
==== Analyse du fonctionnement ====
 
===== <code>void openDocument()</code> =====
La fonction d'ouverture de document fonctionnera ainsi :
 
# Après clic sur une action, le slot se déclenche.
# Une boîte de dialogue s'ouvre, où l'on peut choisir le fichier.
# Elle récupère le nom du fichier puis le lit.
# Elle l'affiche dans la zone de texte.
 
===== <code>void saveDocument()</code> =====
La fonction d'enregistrement du document fonctionnera semblablement à celle de l'ouverture.
 
# Après clic sur une action, le slot se déclenche.
# Une boîte de dialogue s'ouvre, où l'on peut choisir le nom du fichier et son emplacement.
# Elle enregistre le contenu du fichier à partir du contenu du <code>QTextEdit</code>.
 
===== <code>void about()</code> =====
Cette fois-ci, ce sera nous qui programmerons la boîte de dialogue, car il n'en existe pas pour ce genre de tâche, exceptée celle de Qt. La boîte de dialogue ressemblera à ça :
{| class="wikitable"
|+
| colspan="2" |Logo (si vous avez les compétences pour le faire).
|-
| colspan="2" |Nom du programme et version
|-
| colspan="2" |Crédits
|-
|Tâche1
|Nom de celui qui l'a réalisé (vous)
|}
 
===== <code>void find()</code> =====
Une boîte de dialogue, que nous programmerons, s'affiche, et propose le texte à entrer. Elle le recherche ensuite dans le <code>QTextEdit</code>. Or, il existe une méthode <code>find()</code> appartenant aux <code>QTextEdit</code>. Pourquoi ne pas s'en servir ?
 
===== <code>void stats()</code> =====
Là encore, ce sera notre boîte de dialogue, qui affichera le nombre de caractères avec et sans espaces et le nombre de lignes.
 
== Aides ==