2013-04-17 4 views
2

Я создаю model используя этот код:Qt: C++: QTableView не отображается моя модель

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

так что я не хватает? - thanks

ответ

3

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

QStandardItemModel * table_model = new QStandardItemModel(4,4); 
+0

спасибо, сейчас он работает –

 Смежные вопросы

  • Нет связанных вопросов^_^