Afficher un texte avec Qt

Résolu/Fermé
aminesrine88 - 24 mars 2011 à 18:43
 aminesrine88 - 24 mars 2011 à 23:23
Bonjour,
Je veux afficher un texte dans une fenêtre avec Qt, donc j'ai fait comme ça:
Pour MaFenetre.cpp:
Code :

#include "MaFenetre.h"

MaFenetre::MaFenetre(): QGraphicsView()
{
QGraphicsScene scene;


scene.addText("test");


QGraphicsView vue(&scene);
vue.show();
}

et pour MaFenetre.h
code:

#ifndef MAFENETRE_H
#define MAFENETRE_H
#include <QApplication>
#include <QtGui>

class MaFenetre : public QMainWindow
{
public:
MaFenetre();
};

#endif // MAFENETRE_H

et pour main.cpp
code:

#include <QtGui/QApplication>
#include "mainwindow.h"
#include "MaFenetre.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);

MaFenetre fenetre;
fenetre.show();

return a.exec();
}


Mais ça ne marche pas! Comment je peux corriger?
Merci

1 réponse

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
24 mars 2011 à 23:03
Par pitié, utilise les balises de codes !!! Heureusement que le programme est très court... sinon je ne l'aurais même pas lu.
Dans ton constructeur, tu utilises des objets qui sont détruits dès la sortie du constructeur... ils deviennent donc invisibles.
D'autre part ton code est incompilable car la classe est déclarée comme dérivée de QMainWindow et le constructeur ... !!!!
Voici un code qui devrait fonctionner:
class MaFenetre : public QMainWindow
{
  public:
    MaFenetre();
  private:
    QGraphicsScene* scene;
    QGraphicsView*  vue;
}

MaFenetre::MaFenetre(): QMainWindow()
{
  scene = new QGraphicsScene;
  scene->addText("test");
  vue = new QGraphicsView(scene, this);
}

int main(int argc, char* argv[])
{
  QApplication app(argc, argv);
  MaFenetre fenetre;
  fenetre.show();
  return app.exec();
}
Bonne continuation.
2
aminesrine88
24 mars 2011 à 23:23
Je vous remercie infiniment :))))))
0