QTableView Headers problem
Hey guy!
I have a very simple problem:
I display data of an sqlite database in an sqltablemodel + qtableview.
Code:
{
database = db;
table = t;
if (model){
delete model;
}
initializeModel();
refreshView();
}
void DatiPannello::refreshView()
{
model->setTable(table);
model->select();
proxyModel->setSourceModel(model);
tViewDatiPannello->setModel(proxyModel);
tViewDatiPannello->setColumnHidden(0,true);
}
void DatiPannello::initializeModel()
{
if (model) {
model->setTable(table);
model->select();
model->setHeaderData(1, Qt::Horizontal, tr("Marca"),Qt:: DisplayRole);
model
->setHeaderData
(2, Qt
::Horizontal,
QObject::tr("Modello"));
model->setHeaderData(3, Qt::Horizontal, tr("Pnom"));
model->setHeaderData(4, Qt::Horizontal, tr("Voc"));
model->setHeaderData(5, Qt::Horizontal, tr("Isc"));
model->setHeaderData(6, Qt::Horizontal, tr("Imp"));
model->setHeaderData(7, Qt::Horizontal, tr("NOCT"));
model->setHeaderData(8, Qt::Horizontal, tr("Peso"));
model->setHeaderData(9, Qt::Horizontal, tr("Vmp"));
model->setHeaderData(10, Qt::Horizontal, tr("Vmax"));
model->setHeaderData(11, Qt::Horizontal, tr("beta"));
model->setHeaderData(12, Qt::Horizontal, tr("alfa"));
model->setHeaderData(13, Qt::Horizontal, tr("gamma"));
model->setHeaderData(14, Qt::Horizontal, tr("tol."));
model->setHeaderData(15, Qt::Horizontal, tr("H"));
model->setHeaderData(16, Qt::Horizontal, tr("L"));
model->setHeaderData(17, Qt::Horizontal, tr("s"));
model->setHeaderData(18, Qt::Horizontal, tr("efficienza"));
}
}
but I never get the header I set, I get the name of the columns in the database!
Any help, as always, rellay appreciated.
Re: QTableView Headers problem
Hi,
See my source code, I think that will can help.
Note that the 'setHeaderData' always should be between the 'select' statement. and setModel().
Code:
model->setQuery("SELECT LPAD(PV_IDENT,5,'0') AS PV_IDENT, PV_NOME, CONCAT_WS(' ',sys.spISO2EUR(LEFT(PV_DATA,10)),RIGHT(PV_DATA,8) ) AS PV_DATA, PV_OBJ FROM ACPEDVISTA WHERE PV_FLAG = 0 ORDER BY PV_DATA");
model->setHeaderData(0, Qt::Horizontal, tr("Id#"));
model->setHeaderData(1, Qt::Horizontal, tr("Requisitante"));
model->setHeaderData(2, Qt::Horizontal, tr("Data"));
model->setHeaderData(3, Qt::Horizontal, tr("Objeto"));
tviewPedidos->setModel(model);
tviewPedidos->show();