Widget sur Qt
fan-ds
Messages postés
444
Date d'inscription
Statut
Membre
Dernière intervention
-
fan-ds Messages postés 444 Date d'inscription Statut Membre Dernière intervention -
fan-ds Messages postés 444 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà je ne suis vraiment pas très doué en programmation, c'est pour cela que je vous demande de l'aide alors j'explique la situation :
j'utilise Qt pour faire mon programme, pour l'instant j'ai juste une fenetre qui affiche le bouton OK mais j'aimerais que lorsque j'appuie sur le bouton OK, cela ferme cette "page" c'est à dire le bouton OK qui s'y trouve et afficher de nouveaux boutons, messages, champs de caractères
merci de bien vouloir m'aider
voici les codes répartis sur main.cpp, Mafenetre.cpp et MaFenetre.h
main.cpp :
#include <QApplication>
#include <QWidget>
#include <QtGui>
#include <QPushButton>
#include "MaFenetre.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MaFenetre fenetre;
fenetre.show();
return app.exec();
}
MaFenetre.h :
#ifndef MAFENETRE_H
#define MAFENETRE_H
#include <QApplication>
#include <QWidget>
#include <QPushButton>
class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
{
public:
MaFenetre();
private:
QPushButton *m_OK;
};
#endif //MAFENETRE_H
MaFenetre.cpp :
#include "MaFenetre.h"
MaFenetre::MaFenetre() : QWidget()
{
setFixedSize(500, 300);
setWindowTitle("Plus ou moins v0.0");
m_OK = new QPushButton("OK", this);
m_OK->setFont(QFont("Comic Sans MS", 14));
m_OK->move(200, 150);
QObject::connect(m_OK, SIGNAL(clicked()), qApp, SLOT(jeu()));
}
voilà je ne suis vraiment pas très doué en programmation, c'est pour cela que je vous demande de l'aide alors j'explique la situation :
j'utilise Qt pour faire mon programme, pour l'instant j'ai juste une fenetre qui affiche le bouton OK mais j'aimerais que lorsque j'appuie sur le bouton OK, cela ferme cette "page" c'est à dire le bouton OK qui s'y trouve et afficher de nouveaux boutons, messages, champs de caractères
merci de bien vouloir m'aider
voici les codes répartis sur main.cpp, Mafenetre.cpp et MaFenetre.h
main.cpp :
#include <QApplication>
#include <QWidget>
#include <QtGui>
#include <QPushButton>
#include "MaFenetre.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MaFenetre fenetre;
fenetre.show();
return app.exec();
}
MaFenetre.h :
#ifndef MAFENETRE_H
#define MAFENETRE_H
#include <QApplication>
#include <QWidget>
#include <QPushButton>
class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
{
public:
MaFenetre();
private:
QPushButton *m_OK;
};
#endif //MAFENETRE_H
MaFenetre.cpp :
#include "MaFenetre.h"
MaFenetre::MaFenetre() : QWidget()
{
setFixedSize(500, 300);
setWindowTitle("Plus ou moins v0.0");
m_OK = new QPushButton("OK", this);
m_OK->setFont(QFont("Comic Sans MS", 14));
m_OK->move(200, 150);
QObject::connect(m_OK, SIGNAL(clicked()), qApp, SLOT(jeu()));
}
4 réponses
-
Salut.
Tu devrais utiliser le Designer pour tes projets, tu verra c'est beaucoup plus simple il y a pas mal de choses qui se font en automatique.
ta connexion est pas mal, mais je ne vois nulle part le slot "jeu" ni l'objet qApp.
Il me semble qu'il faut commencer toute classe utilisant les SIGNAL/SLOT par la macro QOBJECT (à vérifier, ce n'est peut être valable que pour QT3). -
-
merci beaucoup, mais je ne sais pas trop comment faire pour mettre le slot jeu, et l'objet qApp je ne sais pas non plus
-
j'ai essayé avec designer mais je n'arrive pas à faire une deuxieme page et le slot pour l'afficher