QTableView QTablemodel & insertRow
Hi,
I want to show Data from a Relational DB in a QTableView.
This work fine, also the editing about OnManualSubmit works. Now I want to add and delete Rows in the QTableView. When I tray to add a row an error occurs:
Segmentation fault (core dumped)
*** Exited with status: 139 ***
What does this error means?
I think its a memory lack but I don't know what to do?
I work on Ubuntu Feisty, QT 4.2.3, KDevelop 3.4
Code:
#include <QtGui>
#include <QtSql>
#include <QDebug>
#include "tablemodel.h"
tableModel::tableModel()
{
model->setTable("tx_submission_data");
model
->setRelation
(28,
QSqlRelation("tx_submission_epterm",
"uid",
"epterm"));
model
->setRelation
(29,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model
->setRelation
(30,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model
->setRelation
(31,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model
->setRelation
(32,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model
->setRelation
(33,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model
->setRelation
(34,
QSqlRelation("tx_submission_status",
"uid",
"status"));
model->removeColumns(1,7);
model->removeColumn(5);
model->removeColumn(6);
model->removeColumn(6);
model->removeColumn(6);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(7);
model->removeColumn(8);
model->removeColumn(11);
model->select();
viewTable->setModel(model);
viewTable->setSortingEnabled(TRUE);
viewTable->setAlternatingRowColors(TRUE);
//viewTable->hideColumn(0);
viewTable->resizeColumnsToContents();
connect(submitPb, SIGNAL(clicked(bool)), model, SLOT(submitAll()) );
connect(revertPb, SIGNAL(clicked(bool)), model, SLOT(revertAll() ) );
connect(addPb, SIGNAL(clicked(bool)), this, SLOT(addPerson() ) );
connect(deletePb, SIGNAL(clicked(bool)), this, SLOT(deletePerson() ) );
lay->addWidget(viewTable, 0, 0, 1, 4);
lay->addWidget(submitPb, 1, 0);
lay->addWidget(revertPb, 1, 1);
lay->addWidget(addPb, 1, 2);
lay->addWidget(deletePb, 1, 3);
// CSS
qApp->setStyleSheet("QTableView {background-color: #eeeeee; background-image: url(:/bg.png); color: blue;}");
}
void tableModel::addPerson()
{
int row = model->rowCount();
model->insertRow(row);
viewTable->setCurrentIndex(index);
viewTable->edit(index);
QMessageBox::warning(this, trUtf8
("Person hinzufügen"), trUtf8
("Sie müssen alle Felder ausfüllen!") );
}
void tableModel::deletePerson()
{
}
tableModel::~tableModel()
{
}
Person_Name = 1 (Column with persons name)
Re: QTableView QTablemodel & insertRow
Could you not just do :
Code:
int row = model->rowCount();
beginInsertRows(index, row, row );
// insert your data
endInsertRows();
Regards,
Steve
Re: QTableView QTablemodel & insertRow
Found solution:
doesn't work but:
because I defined this in header...:o
Thanks for the Code steg90 this is a good way too.