Académique Documents
Professionnel Documents
Culture Documents
– wxWidgets (wxwidgets.org)
– Qt (www.qt.io) (version commerciale et version open-source)
– GTK+ (gtk.org)
– ...
– Qt est plus qu’une boîte à outils, c’est une plateforme (un peu lourde) de
développement
– Windows :
mainwindow.h :
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QWidget{parent} //initialiser fenêtre principale
// + autres initialisations propres
{
//initialiser les données propres à l’application
//créer les composants qui s’ajoutent dans la fenêtre
//faire les connexions entre événements et méthodes de rappel
}
→ Nouveau Projet
→ Application Qt avec Widgets
→ Donner le nom du projet
→ Choisir le Kit (Desktop Qt 5.x.x MinGW 32 bit p.ex.)
→ Information sur la classe : choisir le nom de la classe (MainWindow par
défaut, choisir un nom plus parlant), les noms des fichiers contenant
cette classe et décocher Générer l’interface graphique
→ Gestion du projet (ne rien faire ici)
main.cpp :
return a.exec();
}
fenetrevide.cpp :
– il appelle d’une façon spéciale une de ses méthodes signal avec des
valeurs en paramètres : des valeurs émises
void Afficheur::afficheValeur(int v) {
QTextStream stream{stdout};
stream<<"valeur reçue "<<v;
}
– Une classe émettrice ou réceptrice doit hériter de QObject (où une de ses
classes dérivées) et contenir Q_OBJECT au début de sa déclaration
– Plusieurs signaux peuvent être connectés à une même méthode réceptrice
– Un signal peut être connecté à plusieurs méthodes réceptrices
– Un signal peut être connecté à un autre signal : quand le premier sera
émis, le deuxième le sera avec les mêmes valeurs
– Connaître l’objet émetteur dans une méthode réceptrice : QObject::sender()
mainwindow.h :
#include<QWidget>
mainwindow.cpp
#include "mainwindow.h"
#include<QPushButton>
#include<QMessageBox>
QString txt;
QTextStream{&txt} << "pi = " << 3.14;