Bonjour,

Tout d'abord ça fait un petit moment que je n'ai pas touché à la programmation et il y a des erreurs c'est certain notamement dans le fait que mon problème vient d'une classe abstraite

Je fait un petit programme qui recupère les données d'une table dans une base de donnée SQLite et les affiche sous forme de tableau afin de l'imprimer.

J'ai donc deux classes, une qui gère la base de donnée et l'autre qui gère l'IHM

Voici la declaration de la fonction dans Database.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
QSqlQueryModel Semainier(QSqlQueryModel &model,QString Agent,QDate Date);
La fonction dans le *.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
17
 
QSqlQueryModel database::Semainier(QSqlQueryModel &model,QString Agent, QDate Date)
{
 
    model.setQuery("SELECT Poste,Description,OG1,Heure1,OG2,Heure2,Vehicule,Forfait FROM Activite WHERE Agent ='"+Agent+"' AND Date ="+Date);
    model.setHeaderData(0,Qt::Horizontal,tr("Poste"));
    model.setHeaderData(1,Qt::Horizontal,tr("Description"));
    model.setHeaderData(2,Qt::Horizontal,tr("OG1"));
    model.setHeaderData(3,Qt::Horizontal,tr("Heures"));
    model.setHeaderData(4,Qt::Horizontal,tr("OG2"));
    model.setHeaderData(5,Qt::Horizontal,tr("Heures"));
    model.setHeaderData(6,Qt::Horizontal,tr("Vehicule"));
    model.setHeaderData(7,Qt::Horizontal,tr("Forfait"));
 
    return model;
 
}
Et l'appel de la fonction dans l'IHM

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void FenetreVisualisation::AfficherTableau()
{
    database *db = new database();
    if (db->opendb())
    {
        QSqlQueryModel *model = new QSqlQueryModel;
 
        ui->ViewSemainier->setModel(db->Semainier(*model,ui->comboBoxAgent->currentText(),ui->dateEdit->date()));
        ui->ViewSemainier->show();
    }
    else
    {
 
    }
et lorsque je compile j'ai les erreurs suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
C:\Documents and Settings\MicroSCADA\Mes documents\Application cahier blanc\Cahier_Blanc\fenetrevisualisation.cpp:-1: In member function 'void FenetreVisualisation::AfficherTableau()':
C:\Documents and Settings\MicroSCADA\Mes documents\Application cahier blanc\Cahier_Blanc\fenetrevisualisation.cpp:19: erreur : no matching function for call to 'QTableView::setModel(QSqlQueryModel)'
         ui->ViewSemainier->setModel(db->Semainier(*model,ui->comboBoxAgent->currentText(),ui->dateEdit->date()));
                                                                                                                ^
C:\Documents and Settings\MicroSCADA\Mes documents\Application cahier blanc\Cahier_Blanc\fenetrevisualisation.cpp:19: candidate is:
C:\Qt\5.2.0\mingw48_32\include\QtWidgets\QTableView:1: In file included from ..\..\..\..\..\Qt\5.2.0\mingw48_32\include/QtWidgets/QTableView:1:0,
C:\Documents and Settings\MicroSCADA\Mes documents\Application cahier blanc\build-Cahier_Blanc-Desktop_Qt_5_2_0_MinGW_32bit-Debug\ui_fenetrevisualisation.h:22: from ./ui_fenetrevisualisation.h:22,
C:\Documents and Settings\MicroSCADA\Mes documents\Application cahier blanc\Cahier_Blanc\fenetrevisualisation.cpp:2: from ..\Cahier_Blanc\fenetrevisualisation.cpp:2:
C:\Qt\5.2.0\mingw48_32\include\QtWidgets\qtableview.h:68: virtual void QTableView::setModel(QAbstractItemModel*)
     void setModel(QAbstractItemModel *model);
          ^
C:\Qt\5.2.0\mingw48_32\include\QtWidgets\qtableview.h:68: note:   no known conversion for argument 1 from 'QSqlQueryModel' to 'QAbstractItemModel*'
j'ai cherché une journée complete, je m'en remet à vous, je sais que mon erreur est conne mais j'ai du mal :s

Merci beaucoup !