1
2 Toolkits Il existe 4 principales boites à outils (toolkits) graphiques : –Xt / Motif –Gtk –Windows –Qt Seul certaines fonctionnent sur toutes les plates-formes : –Unix (Linux) –Mac –Windows
3 Qt Qt est une bibliothèque contenant : –Fonctions dinterfaces graphique –Composants daccès aux données –Connexions réseaux –Gestions de processus Sous licence GPL pour les projets « libres » Développée en C++ par la société Trolltech ( Disponible pour Windows, Unix et Mac OS
4 Couches logicielles
5 Signals et slots (1) Mécanisme de communications entre les composants de Qt
6 Signals et slots (2) Exemple concret (DrawQt) Clic sur le bouton ellipse Lors du clic sur le bouton : 1.Envoie du signal clic par le bouton 2.Ce signal est connecté à la méthode ClicEllipse 3.Execution de la méthode ClicEllipse
7 Signals et slots (3) Définir un signal / slot Fichier.h class myClass : public Qobject { Q_OBJECT … signals: void event (); … public slots: void action (); … }; Fichier.cxx … emit(evenementSurvenu()); … connect(myClass,SIGNAL(event(),myClass,SLOT(action());
8 Signals et slots (4) Mécanisme interne : maclasse.h maclasse.cpp moc_maclasse.cpp moc maclasse.obj gcc
9 GUI (Graphic User Interface) 2 méthodes de définir une GUI en Qt A la main (long, mais efficace et instructif) Description interface Sauvegarde monfichier.ui uic monfichier.h A laide du Designer :
10 Exemple simple #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello("Hello world!"); hello.resize(100, 30); hello.show(); return app.exec(); } Headers de Qt Création de lapplication Création dun bouton Redimentionnement Affichage du bouton Lancement de lapplication et attente de fin