Я создаю model
используя этот код:
QStandardItemModel table_model(4,4);
for(int row=0; row<4; row++){
for (int column=0; column<4; column++){
QStandardItem* item = new QStandardItem((QString("100")));
table_model.setItem(row,column,item);
}
}
Затем я передаю его QTableView
следующим образом:
QStandardItemModel* model = &table_model;
ui->table->setModel(model);
ui->table->show();
Однако что-то не так. QTableView
ничего не показывает, только пустое пространство во всем этом. Тем не менее, если и только если, я нажимаю кнопку триггера (которая создает модель и связывает ее с QTableView
) Я вижу таблицу 4х4, но без каких-либо данных. сразу после «клика» все исчезает (это просто момент нажатия на кнопку) ..
так чего мне не хватает? — Спасибо
Вы создаете свою модель в стеке и передаете указатель, который становится недействительным сразу после того, как вы покидаете метод, где вы его объявляете.
QStandardItemModel * table_model = new QStandardItemModel(4,4);
Других решений пока нет …