Sommaire: Programmation Qt cours découvrir les premiers pas avec Qt
1 Découvrir Qt
1.1 Une première application graphique
1.2 Créer un bouton
1.3 Des widgets personalisés
1.4 Gérer des évènements
1.4.1 Slots et signaux
1.4.2 L’émetteur du signal
1.4.3 Le récepteur du signal
1.4.4 L’utilitaire moc
2 Gérer le temps
2.1 Gestion d’évènements graphiques
2.2 Le timer
2.3 Le chronomètre
2.4 Une animation graphique
2.4.1 A‑cher un image sur un widget
2.4.2 Et enn l’animation
3 Gérer la souris et le clavier
3.1 La gestion de la souris (QMouseEvent).
3.2 La gestion du curseur (QCursor)
3.2.1 Les curseurs standards
3.2.2 Les curseurs personalisés
3.3 La gestion du clavier (QKeyEvent)
3.4 Les autres évènements
4 Dessiner sur une fenêtre graphique
4.1 Rafraîssement d’une fenêtre
4.2 Redessiner tout ou pas?
4.3 Tout redessiner sans clignotement
4.4 La classeQPainter
5 Créer des widgets
5.1 Introduction
5.2 La classe QPushButton
5.3 La classe QRadioButton
5.4 La classe QCheckBox
5.5 La classe QComboBox
5.6 La classe QGroupButton
5.7 La classe QFrame
5.8 La classe QListBox
5.9 La classe QSlider
5.10 La classe QScrollBar
5.11 La classe QLabel
5.12 La classe Qmenu
5.13 La classe QPopupMenu
5.14 La classe QTabDialog
5.15 La classe QMessageBox
5.16 QFileDialog
5.17 Quelques widgets
6 Ranger les widgets
6.1 La classe QBoxLayout
6.2 La classe QGridLayout
6.3 Des layouts dans des layouts
7 A propos des fontes
7.1 La classeQFont
8 A propos des fontes
9 Découvrir certaines classes utiles
9.1 Les expressions régulières
9.1.1 Généralités sur les expressions régulières
9.1.2 Généralités sur les caractères de substitutions
9.1.3 Les expressions régulières et les caractères de substitutions de Qt
9.2 Lesobjetspartagés
9.2.1 Introduction
9.2.2 Le partage explicite
9.2.3 Le partage implicite
9.3 La classe QString
9.4 La classe QFile
9.5 La classe QDataStream
9.6 La classe QTextStream
9.7 La classe QFileInfo
9.8 La classe QDir
9.9 La classe QFileDialog
9.10 La classe QImage
9.11 La classe QPixmap
10 Des applications
10.1 Une palette de dessin
10.1.1 La palette graphique
10.1.2 Les formes que l’on veutmanipuler
11 Memo
11.1 QPrinter
11.2 QSignal
11.3 QSocketNotier
11.4 QWMatrix
12 Dlgedit: Aide à la programmation Qt
Extrait du cours programmation Qt découvrir les premiers pas avec Qt
Chapitre 1 DécouvrirQt
1.1 Une première application graphique
La classe QApplication Toute application Q test constituée d’un objet de typeQApplication. Le chier qapp.hcontient les déclarations de la classeQApplication. On incluera dans les programmes utilisantQt,le chier de déclaration de la classeQApplication.
#include <qapp.h>
La classe QPushButton Le chierqapp.hne contient pas tous ce dont une applicationQta besoin. Il est souvent nécessaire d’inclure d’autres chiers d’interface, selon les besoins de l’application que l’on développe. Par exemple, si l’on veut utiliser d’autres objets graphiques, un bouton par exemple, on devra inclure le chier qpushbt.h.
#include <qpushbt.h>
1.2 Créer un bouton
Un bouton est un objet de la classeQPushButtonque l’on crée comme tout autre objet.
QPushButton (QWidget* parent=0, const char* name=0)
QPushButton (const char* text, QWidget* parent=0, const char* name=0)
Pour le moment, on se contentera de noter que l’on peut créer un objet de typeQPushButton (chaine) où chaine désigne la chaîne de caractères qui sera affichée sur le bouton.
QPushButton bouton( « Coucou !!! » );
1.3 Des widgets personalisés
Dans les applications, on a toujours besoin de dénir ses propres widgets avec des caractéristiques particulières. Supposons que l’on veuille créer un widget qui contient deux boutons; pour ce faire, nous allons créer une nouvelle sous classe de la classeQWidget.
//*********** nwidget.h ************
#include <qapp.h>
#include <qpushbt.h>
class NouveauWidget : public QWidget
{
public:
NouveauWidget( QWidget *pere=0, const char *nom=0 );
};
Cette sous classe ne contient rien d’autre qu’un unique constructeur. Toutes les autres méthodes sont celles dérivées de la classeQWidget.
Le premier argument de ce constructeur est le widget père; si c’est un widget racine (ou principal), la valeur 0 (le pointeurNULL) sera founi en argument. Le deuxième argument de ce constructeur est le nom du widget. Ce n’est la chaîne gurant sur le widget mais un nom permettantderechercher un widget particulier parmis l’ensemble des widget d’une application donnée. L’intérêt de cet argument sera plus évidentvers la n de document.
1.4 Gérer des évènements
Nous allons modier l’exemple précédant pour y inclure une première gestion des évènements utilisateur i.e.
eectuer une action en réaction à une action de l’utilisateur.
1.4.1 Slots et signaux
La méthodeconnectest la méthode la plus importante de Qt. C’est une méthode staticde la classe QObject
QObject::connect( &bouton, SIGNAL(clicked()), &a, SLOT(quit()) );
Cette méthode établit une communication unidirectioinnelle entre deux objets Qt.Achaque objetQt (objet de la classe QObjectou d’une classe dérivée), on peut associer des siganux qui permettent d’envoyer des messages et desslotspour recevoir des messages. Notons que la classeQWidgetest une classe dérivée de la classeQObject(comme d’ailleurs toutes les classesQt).
La sémantique de cette instruction est : le signal cliquer eectué sur le widgetboutonest relié au slot quit()de l’applicationade telle sorte que l’application s’arrête lorsque on clique sur le bouton.
…….
Programmation Qt cours découvrir les premiers pas avec Qt (551 KO) (Cours PDF)