1 pièce(s) jointe(s)
Problème d'affichage de tableaux
Salut a tout le monde,
Je suis debutant en Qt. J'ai installe sur ubuntu l'EDI Qt Creator de Nokia qui parait assez costaud...
J'ai commence a bidouiller un peu et tout marchair nickel jusqu'a ce que j'ai essaye de faire des tableaux. J'ai fait mon propre example et j'ai pas fait apparaitre de tableu, donc je me suis dit que le probleme etait entre mon ecran et ma chaise, donc j'ai pris des exemples sur internet et finalement l'exemple de l'editeur, mais toujours pas de tableau qui apparait sur la fenetre (cf. piece jointe).
J'ai cherche un peu sur le net mais je n'ai rien trouve. Je ne sais pas si c'est un probleme de packages manquantes ou c'est l'editeur qui foire.
Ma config :
Qt Creator 1.3.1
Based on Qt 4.6.2 (32 bit)
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 56 57 58 59 60 61 62 63 64 65 66
|
#include <QtGui>
#include <QtSql>
#include "tableeditor.h"
//! [0]
TableEditor::TableEditor(const QString &tableName, QWidget *parent)
: QDialog(parent)
{
model = new QSqlTableModel(this);
model->setTable(tableName);
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("ID"));
model->setHeaderData(1, Qt::Horizontal, tr("First name"));
model->setHeaderData(2, Qt::Horizontal, tr("Last name"));
//! [0] //! [1]
QTableView *view = new QTableView;
view->setModel(model);
//! [1]
//! [2]
submitButton = new QPushButton(tr("Submit"));
submitButton->setDefault(true);
revertButton = new QPushButton(tr("&Revert"));
quitButton = new QPushButton(tr("Quit"));
buttonBox = new QDialogButtonBox(Qt::Vertical);
buttonBox->addButton(submitButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(revertButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
//! [2]
//! [3]
connect(submitButton, SIGNAL(clicked()), this, SLOT(submit()));
connect(revertButton, SIGNAL(clicked()), model, SLOT(revertAll()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
//! [3]
//! [4]
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(view);
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
setWindowTitle(tr("Cached Table"));
}
//! [4]
//! [5]
void TableEditor::submit()
{
model->database().transaction();
if (model->submitAll()) {
model->database().commit();
} else {
model->database().rollback();
QMessageBox::warning(this, tr("Cached Table"),
tr("The database reported an error: %1")
.arg(model->lastError().text()));
}
}
//! [5] |
Pouvez vous me donner un coup de main avec ca ?
Merci d'avance.