Bonjour,

depuis quelques temps, j'essaie la 2D avec Qt, malheureusement, je rencontre un problème qui me bloque complétement. Lors d'un clique sur le Graphics View, je n'arrive pas à dessiner un carré dans la zone. En cherchant dans la doc, je suis tombé sur update(); et repaint(); mais ça n'a rien donné chez moi.

Voici mon code :

GraphicsView.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <QtGui>
 
class GraphicsView : public QGraphicsView
{
public:
    GraphicsView();
protected:
    void mousePressEvent(QMouseEvent *event);
private:
    QGraphicsScene *scene;
    QGraphicsView *vue;
 
};
GraphicsView.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "GraphicsView.h"
 
GraphicsView::GraphicsView()
{
    scene = new QGraphicsScene;
    vue = new QGraphicsView(scene);
}
 
void GraphicsView::mousePressEvent(QMouseEvent *event)
{
    QMessageBox::information(this, "info", "tu as cliqué");
    QRect rectangle(10, 10, 100, 50);
    scene->addRect(rectangle);
    scene->update();
    vue->repaint();
}
main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
#include <QApplication>
#include "GraphicsView.h"
 
int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
 
    GraphicsView vue;
    vue.show();
 
    return app.exec();
}
Si vous voyez un truc choquant dites-le moi, ce problème commence vraiment à me frustrer

Laërte