Bonjours a tous, alors ça fait quelque fois déjà que je demande de l'aide pour ce projet, j'ai essayer pas mal de chose et ça ne marche pas comme je veux. Je fait donc un post en expliquant clairement ce que je cherche. Pour un projet de prog je fait un logiciel de génération de tableau de poule dans ce style . Donc l'idée que j'ai c'est de créer des objets de ce type là



Et ensuite je pourrait les disposer dans un QGridLayout (par exemple) et les relier par une ligne comme cella



Je cherche donc comment crée cet objet pour ensuite pouvoir le déplacer et le relier. J'ai utilisé des QGrpahicsScene, QGraphicsItem, etc.. Voila ce que j'ai comme code pour l'instant, j'ai réussi à afficher une ligne avec un texte dessus (mais le texte n'était pas centrer dessus donc a voir aussi) et là c'est mon code quand j'essaye d'en afficher plusieurs en même temps, et forcement ça plante.

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
17
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
#include <QtGui>
#include <QVector>
 
class FenPrincipale : public QWidget
{
    public:
    FenPrincipale();
    void creationLigne(QVector<QGraphicsView*> *tableau, int num, QGraphicsScene *scene);
 
    private:
    QVector<QGraphicsView*> *m_tableau;
 
};
 
#endif // FENPRINCIPALE_H
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
17
18
19
20
21
22
23
24
25
#include "FenPrincipale.h"
 
using namespace std;
 
FenPrincipale::FenPrincipale() : QWidget()
{
    QGraphicsScene *scene = new QGraphicsScene;
 
    m_tableau = new QVector<QGraphicsView*>;
    creationLigne(m_tableau,0,scene);
    creationLigne(m_tableau,1,scene);
 
}
 
void FenPrincipale::creationLigne(QVector<QGraphicsView*> *tableau,int num, QGraphicsScene *scene)
{
    QGraphicsItem *item;
    item = scene->addLine(50,50,200,50);
    item = scene->addText("bonjours");
 
    QGraphicsView *i = new QGraphicsView(scene);
    tableau[num].push_back(i);
    i->show();
 
}
Je demande donc de l'aide pour cela, pas forcement la correction de mon code, si vous pensez qu'une autre méthode est plus adaptée je suis preneur. Merci