Frame simple en qt pour newbie

Contenu du snippet

Voila un source tout simple pour comprendre comment creer une frame en Qt avec juste un bouton.
je pose ce source car j'ai eu du mal a en trouver et qu'a chaque fois, le source est mal expliquer ou il y a
trop de gadget (toolbar, textlist, ...).... C'est vraiment un exemple super simple qui demontre juste
la derivation de la classe principale et l'ajout dun bouton. Un gestionnaire d'action est egalement inclus.

Source / Exemple :


/***************************************************************************

  • Copyright (C) 2005 by Jean *
  • ionace@latriyade.com *
  • *
                                                                                                                                                      • /
#include <qapplication.h> #include <qpushbutton.h> #include <qmessagebox.h> class bouton : public QPushButton { Q_OBJECT public: bouton(const QString & text, QWidget * parent); ~bouton(); public slots: void message(); }; bouton::bouton(const QString & text, QWidget * parent) : QPushButton(text,parent) { setGeometry(100, 100, 100, 100); } bouton::~bouton() { } void bouton::message() { QMessageBox::information( this, "Application name", "Unable to find the user preferences file.\n" "The factory default will be used instead." ); } /* Nouvelle classe issue de la derivation de QWidget */ class Widget : public QWidget { public: Widget(); //constructeur }; /* Constructeur par default de la classe Widget */ Widget::Widget() : QWidget() { setMinimumSize( 300, 300 ); // Avec ces deux fonctions on empeche l'utilisateur setMaximumSize( 300, 300 ); // de modifier la taille de la frame avec la souris bouton *quit = new bouton( "Quit", this ); // on creer un bouton graphique quit->setFont( QFont( "Times", 18, QFont::Bold ) ); // definition de sa police de caratcere connect( quit, SIGNAL( clicked() ), quit, SLOT( message() ) ); /* gestionnaire d'evenemnt connect( widget_qui_envoi_un_signal, type_du_signal, widget_qui_recoit_le_signal, traitement_a_effectuer) */ } /**********************/ /* Debut du programme */ int main( int argc, char **argv ) { QApplication a( argc, argv ); // on instancie la classe QApplication Widget w; // on instancie la classe Widget w.setGeometry( 0, 0, 800, 600 ); // definition de l'emplacement et de la taille de la frame a.setMainWidget( &w ); // on on enferme le conteneur principale dans l'objet creer a partir de QApplication w.show(); // w doit-etre visible sinon la classe principale sera invisible ( c'est le conteneur ) return a.exec(); // execute la frame } /* fin du programme */ /*******************/

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.