Qt: c ++: QTableView не отображает мою модель

Я создаю 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, но без каких-либо данных. сразу после «клика» все исчезает (это просто момент нажатия на кнопку) ..

так чего мне не хватает? — Спасибо

2

Решение

Вы создаете свою модель в стеке и передаете указатель, который становится недействительным сразу после того, как вы покидаете метод, где вы его объявляете.

QStandardItemModel * table_model = new QStandardItemModel(4,4);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]