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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| //Toute la première partie fonctionne. Testée par mes soins.
//Création des listes de types de données à trier
QStringList listeTAD(LInventaire->listeTAD());
listeTAD << "Total";
QStringList listeCrit;
listeCrit << "Criticité 0" << "Criticité 1" << "Criticité 2" << "Criticité 3" << "Criticité 4" << "Total";
//Création des headers
QHeaderView *HGHeader = new QHeaderView(Qt::Horizontal);
QHeaderView *VGHeader = new QHeaderView(Qt::Vertical);
HGHeader->setSectionResizeMode(QHeaderView::ResizeToContents);
VGHeader->setSectionResizeMode(QHeaderView::ResizeToContents);
HGHeader->setStretchLastSection(true);
VGHeader->setStretchLastSection(true);
//Création du tableau
QTableWidget *OngletGQTW = new QTableWidget((listeTAD.size()),6, 0);
OngletGQTW->setHorizontalHeader(HGHeader);
OngletGQTW->setVerticalHeader(VGHeader);
OngletGQTW->setHorizontalHeaderLabels(listeCrit);
OngletGQTW->setVerticalHeaderLabels(listeTAD);
OngletGQTW->setFixedSize(550,300);
//A partir de là, je ne sais pas trop....
//Création du tableau de QTableWidgetItem dont les dimensions s'accordent à celles des listes listeTAD et listeCrit (dont sa taille est fixe, 6)
QTableWidgetItem CellsG[listeTAD.size()][6];
for (int x = 0; x < listeCrit.size()-1; x++)
{
//sommeV permet de calculer le total de la colonne
int sommeV;
for (int y = 0; y < listeTAD.size()-1; y++)
{
int nbV;
nbV = LInventaire->countG(listeTAD[y], x);
sommeV += nbV;
//Définition du contenu de la cellule
CellsG[x][y].setData(Qt::DisplayRole, QString::number(nbV));
}
//Définition du contenu de la cellule de somme
CellsG[x][listeTAD.size()-1].setData(Qt::DisplayRole, QString::number(sommeV));
}
//Remplissage du tableau
for (int x = 0; x < listeCrit.size()-1; x++)
{
for (int y = 0; y < listeTAD.size()-1; y++)
{
OngletGQTW->setItem(x, y, &CellsG[x][y]);
}
} |
Partager