Populating a QStandardItemModel with data
-
Please help with populating a QTableWidget with data from a QStandardItemModel. I have looked at the documentation and can't seem to figure it out. This is my attempt at it:
@void Widget::setupGui()
{
model = new QStandardItemModel(this);
model->setColumnCount(4);
model->setHeaderData(0,Qt::Horizontal,QString("Composer"),Qt::DisplayRole);
model->setHeaderData(1,Qt::Horizontal,QString("Album Title"),Qt::DisplayRole);
model->setHeaderData(2,Qt::Horizontal,QString("Replacement Cost"),Qt::DisplayRole);
model->setHeaderData(3,Qt::Horizontal,QString("Rating"),Qt::DisplayRole);
QHeaderView* hv = ui->tableWidget->horizontalHeader();
hv->setResizeMode(QHeaderView::ResizeToContents);
hv->setStretchLastSection(true);CDInfo *cd1 = new CDInfo("Abba","Essential Collection",120.89,7); CDInfo *cd2 = new CDInfo("Hugh Masekela","Jabulani",199.05,6); CDInfo *cd3 = new CDInfo("Karl Jenkins","Stabat Mater",256.00,9); for (int row = 0; row < 3; ++row) { for (int column = 0; column < 4; ++column) { QModelIndex index = model->index(row, column, QModelIndex()); model->setData(index, QVariant((row+1) * (column+1))); } } ui->tableWidget->setModel(model);
}
@ -
Hi,
Since you have a QStandardItemModel, why don't you use a QTableView ?
-
Are you saying that it can't be done with a QStandardItemModel?
-
No, I am just asking why you are using a QTableWidget since your are using a QStandardItemModel.
Either use QTableView + QStandardItemModel or use only QTableWidget.
QTableWidget already has a model
-
oh alright thanks