MainWindow.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <QWidget>
  2. #include <QVBoxLayout>
  3. #include <QHBoxLayout>
  4. #include "MainWindow.hpp"
  5. MainWindow::MainWindow ()
  6. {
  7. setWindowTitle (tr ("miniQt"));
  8. // Création de la zone de travail centrale
  9. QWidget *central = new QWidget (this);
  10. setCentralWidget (central);
  11. // On va organiser les différents éléments dans un
  12. // calque vertical
  13. QVBoxLayout *vLayout = new QVBoxLayout (central);
  14. // Calque qu'on assigne à la zone de travail centrale
  15. central->setLayout (vLayout);
  16. // Création d'un label
  17. label = new QLabel ("Coucou !", central);
  18. // qu'on centre
  19. label->setAlignment (Qt::AlignCenter);
  20. // et qu'on ajoute à la première ligne de notre calque
  21. vLayout->addWidget (label);
  22. // La seconde ligne de notre calque vertical sera composé
  23. // de plusieurs éléments les uns derrière les autres.
  24. // On crée donc un calque horizontal
  25. QHBoxLayout *hLayout = new QHBoxLayout (central);
  26. // qu'on affecte à la seconde ligne de notre calque vertical
  27. vLayout->addLayout (hLayout);
  28. // On crée une zone de texte
  29. text = new QTextEdit (QString ("Tu veux voir ma"), central);
  30. // dont on fixe la taille en hauteur
  31. text->setMaximumHeight (27);
  32. // et qu'on assigne à la première case de notre
  33. // calque horizontal (donc dans la seconde ligne
  34. // du calque vertical
  35. hLayout->addWidget (text);
  36. // On crée un bouton aevc le texte "cliquez moi !"
  37. button = new QPushButton ("cliquez moi !", central);
  38. // qu'on ajoute à la suite de la zone de texte
  39. // dans le calque horizontal - donc toujours dans
  40. // la seconde ligne du calque vertical
  41. hLayout->addWidget (button);
  42. // On crée un dernier label qu'on ajoute à la suite
  43. // du bouton dans le calque horizontal...
  44. label2 = new QLabel ("?", central);
  45. hLayout->addWidget (label2);
  46. // Création de la connexion entre le clic sur le bouton
  47. // et l'exécution de la méthode clic.
  48. // Cette méthode sera appelée lors du clic sur le bouton.
  49. connect (button, SIGNAL (clicked (bool)), this, SLOT (clic ()));
  50. }
  51. void
  52. MainWindow::clic ()
  53. {
  54. // Lors du clic sur le bouton, cette méthode est
  55. // appelée et modifie le texte sur le bouton.
  56. button->setText ("belle interface graphique");
  57. }