Recupérer l'état d'un QCheckBox dans une QtableView pour enregistrer les données dans une base sqlite
Bonjour,
Voilà çà fait deux que je galère la dessus.
J'ai un QtableView qui m'affiche un modele QSqlTableModel. A ceci j'ai enfin réussi à ajouter une colonne sup dans laquelle il y a un QCheckBox. Mon problème de pouvoir récupérer l'état du QCheckBox (principalement savoir si il est checked ou pas) pour enregistrer des données dans ma base sqlite.
Mon code
Code:
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 48 49 50 51 52 53 54 55
|
#include "PariEnCours.h"
#include "CreateConnection.h"
PariEnCours::PariEnCours()
{
affiche();
}
void PariEnCours::affiche()
{
//Connexion DB
CreateConnection w("localhost", "essai.db", "root", "");
m_Modele = new QSqlTableModel;
m_Modele->setTable("pari");
m_Modele->select();
m_Modele->setFilter("resultat='en cours'");
m_Modele->setHeaderData(1, Qt::Horizontal, tr("date"));
m_Modele->setHeaderData(2, Qt::Horizontal, tr("mise"));
m_Modele->setHeaderData(3, Qt::Horizontal, tr("cote"));
m_Modele->setHeaderData(4, Qt::Horizontal, tr("resultat"));
m_Modele->setHeaderData(5, Qt::Horizontal, tr("gain"));
m_Modele->insertColumn(6);
m_Modele->setHeaderData(6, Qt::Horizontal, tr("selection"));
m_Vue = new QTableView;
m_Vue->setModel(m_Modele);
m_Vue->setWindowTitle("Pari en cours");
m_Vue->setFixedSize(800,500);
m_Vue->hideColumn(0);
// Ajout d'une checkbox à chaque ligne
for (int row = 0; row < m_Vue->model()->rowCount(); row++)
{
QCheckBox *check = new QCheckBox;
m_Vue->setIndexWidget(m_Vue->model()->index(row,6), check);
}
m_Vue->show();
QObject::connect(m_Modele, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(actionSlot(QModelIndex, QModelIndex)));
//Fermeture connexion DB
w.close();
}
void PariEnCours::actionSlot(QModelIndex topLeft, QModelIndex bottomRight)
{
qDebug() << topLeft << bottomRight;
} |
Merci d'avance