« Programmation Qt/TP : un éditeur de texte » : différence entre les versions
Refonte |
m précision |
||
Ligne 17 : | Ligne 17 : | ||
* Rechercher |
* Rechercher |
||
* Statistiques du document |
* Statistiques du document |
||
**Nombre de caractères(sans espaces) |
|||
**Nombre de caractères (avec espaces) |
|||
**Nombre de lignes |
|||
{{Information (Espace principal)|Les deux premiers éléments peuvent vous paraître bêtes, mais il est important de bien connaître la '''fonction principale''' d'un programme.}} |
{{Information (Espace principal)|Les deux premiers éléments peuvent vous paraître bêtes, mais il est important de bien connaître la '''fonction principale''' d'un programme.}} |
Version du 4 décembre 2019 à 19:06
Dans ce TP, vous apprendrez à créer un éditeur de texte.
Découvrir le sujet et organiser son projet
Avant d'attaquer ce TP, il est important de connaître le sujet en détail.
Cahier des charges
Nous allons créer un cahier des charges pour connaître ce dont notre éditeur de texte disposera.
- Éditer un document
- Ouvrir / enregistrer un document
- À propos du logiciel et de Qt
- Rechercher
- Statistiques du document
- Nombre de caractères(sans espaces)
- Nombre de caractères (avec espaces)
- Nombre de lignes
Les deux premiers éléments peuvent vous paraître bêtes, mais il est important de bien connaître la fonction principale d'un programme.
Cela peut vous paraître rien du tout, mais c'est déjà quelque chose de savoir faire ça !
Variables et attributs
Je vous propose de faire du QTextEdit
un attribut de la classe MainWindow
pour qu'il soit facilement accessible par les méthodes de notre programme.
Fonctions et méthodes
Voici une liste utile de fonctions et méthodes nécessaires pour la réalisation du programme.
void openDocument()
: Ouvrir un document.void saveDocument()
: Enregistrer un document.void about()
: À propos du logiciel.void find()
: Rechercher.void stats()
: Statistiques du document.
Aides
Ouvrir un fichier
Nous allons donc commencer par l'ouverture du fichier. On utilise la classe QFile
. Pour cela, on va ouvrir le fichier avec la boîte de dialogue QFileDialog
.
QString fileContent;
QString fileName = QFileDialog::getOpenFileName(this, "Ouvrir", QDir::homePath());
QFile *file = new QFile(fileName);
Lire le fichier
C'est très simple. On va vérifier que le fichier n'a pas de problèmes, puis on va mettre le contenu dans un QString
.
if(file->open(QIODevice::ReadOnly | QIODevice::Text))
{
fileContent = file->readAll();
file->close();
}
À présent, je vous laisse, puisqu'on va utiliser une classe que vous connaissez déjà, QTextEdit
.
Enregistrer un fichier
QString file = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", QString());
Correction
Maintenant que vous savez tout, voici la correction.