QTableView *poMyTableView = new QTableView;
MyTableModel *poMyTableModel = new MyTableModel;
poMyTableView ->setModel(poMyTableModel);
MyTableModel:
private:
QVector<int> vecData; // Хранилище табличных данных
/////////////////
int MyTableModel::rowCount(const QModelIndex &parent) const
{
return vecData.size();
}
int MyTableModel::columnCount(const QModelIndex &parent) const
{
return 1;
}
void MyTableModel::setData(QVector<int> data)
{
vecData.clear();
vecData = data;
qDebug() << "size= " << vecData.size(); // [b]размер верный, ненулевой [/b]
}
QVariant MyTableModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (role == Qt::DisplayRole)
return vecData.at(index.row());
else
return QVariant();
}
///////////////
QVector<int> vecMyData; // вектор данных для отображения в таблице
// заполнение vecMyData
poMyTableModel->setData(vecMyData);
void MyTableModel::setData(QVector<int> data)
{
beginResetModel();
vecData = data;
endResetModel();
}