qt win opensource 3

Transcription

qt win opensource 3
1
Boite à outils Qt
●
Boite à outils C++ pour le développement multi-plateforme
d'application en environnement graphique (GUI)
–
–
●
●
Portabilité entre Microsoft Windows, Mac OS X, Linux, et toutes les
principales variantes d'Unix commerciales
Développé par la société Trolltech
–
●
●
des fonctions GUI (GUI = graphical user interface)
des composants d'accès aux données, de connexion réseau, de
gestion des process
http://doc.trolltech.com
À la base de plusieurs milliers d'applications fonctionnelle à travers
le monde (par ex. KDE)
Diffusé en différentes éditions
–
–
L'édition Qt Commerciale - pour le développement de logiciel
commercial
L'édition Qt Open Source - pour le développement de logiciel Libre et
Open Source seulement (GNU General Public License)
2
Couches logicielles
●
Qt est une surcouche juste au-dessus du graphique natif de la
machine cible.
3
Signaux et Slots...
●
●
Mécanisme de
communication entre les
composants de Qt
Un signal est émis lorsqu'un
évènement a lieu.
–
●
les widgets de Qt ont de
nombreux signaux
prédéfinis, mais nous
pouvons toujours dériver des
widgets pour leur ajouter nos
propres signaux.
Un slot est une fonction
appelée en réponse à un
signal donné.
–
les widgets de Qt ont de
nombreux slots prédéfinis,
mais c'est une pratique
courante de dériver les
widgets et d'ajouter nos
propres slots.
4
... Signaux et Slots
●
Exemple - DrawQt
Cliquez sur le bouton “ellipse”
●
Lorsque vous cliquez sur le
bouton :
–
–
–
le bouton émet le signal
“clicked”
ce signal est connecté à la
méthode "ClickEllipse ()"
La méthode "ClickEllipse ()"
est exécutée
5
Définition des Signaux et Slots
Fichier MyClass.h
#include <QObject>
class myClass : public QObject
{
Q_OBJECT
…
signals:
void event();
…
public slots:
void action();
…
Fichier MyClass.cxx
#include “MyClass.h”
…
// Émet le signal event()
emit(event());
…
// Connecte le signal event() avec
// le slot action()
connect (myClass, SIGNAL (event
(),
myClass, SLOT (action ());
...
};
6
Meta-Object Information
●
●
Le compilateur de méta-objets (moc) analyse les déclaration de
class dans un fichier C++ et génère du code C++ qui initialise les
méta-objets.
Le méta-objet contient les noms de tous les membres signaux et
slots, ainsi que les pointeurs vers ces fonctions.
myClass.h
moc
moc_myClasse.cpp
g++
myClass.o
myClass.cxx
7
Qt Designer
●
C'est un outils pour concevoir et construire une interface
graphique (GUIs) à partir de composants Qt.
–
–
●
Il vous permet de concevoir et construire des widgets et des dialogues
en utilisant des objets à l'écran reposants sur les mêmes widgets qui
seront utilisés dans votre application.
Les composants créés avec Qt Designer peuvent également bénéficier
des signaux et slots de Qt, et ils peuvent être prévisualisés de sorte à
garantir qu'ils auront exactement l'apparence et le style d'utilisation
que vous souhaitez.
Le compilateur d'interface utilisateur (uic) lit un fichier définition
d'interface utilisateur (.ui) au format XML tel que généré par Qt
Designer et créé le fichier entête ou source C++ correspondant.
–
Il génère également un fichier image qui incorpore les données des
image brutes dans le code source C++.
Interface Description
Save myFile.ui
uic
myFile.h
8
Exemple d'application Qt
Fichier main.cxx
#include <QApplication>
#include <QpushButton>
Crée une application Qt
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
Crée un bouton
Redimensionne le bouton
Montre le bouton
Lance l'application
(et attend un signal)
9

Documents pareils