Название: [РЕШЕНО] Вылет при использовании QAbstractTableModel Отправлено: Achernar от Май 24, 2014, 13:26 Здравствуйте, модель в виде таблицы из 3х столбцов и от 0 строк, унаследовал от QAbstractTableModel
Код: #ifndef GAMETABLE_H Код: #endif // GAMETABLE_H При добавлении строк и resize окна вылетает, вроде делал по примерам, не могу понять в чем ошибка. Название: Re: Вылет при использовании QAbstractTableModel Отправлено: gil9red от Май 24, 2014, 14:25 Проверьте в GameTable::data строку return m_data[index.row()][index.column()]; :)
Похоже тут выход за пределы массива :) Название: Re: Вылет при использовании QAbstractTableModel Отправлено: Achernar от Май 24, 2014, 14:37 Вообще это таблица для вывода ходов шахматной партии.
Вот такая ситуация делаю первый ход - посылается сигнал: 1. Иногда отрабатывает нормально - ход появляется в списке, но при resize вылетает, вызывается m_data[0][0] и после возвращения из функции вылетает. 2. Иногда сразу же вылетает, даже не попадая в функцию data(), причем ход тот же самый. Название: Re: Вылет при использовании QAbstractTableModel Отправлено: Bepec от Май 24, 2014, 14:42 gil9red % на 80 прав, я думаю :)
Сделай проще свою систему - повтыкай в начале изменения данных либо qDebug либо в лог выводи данные о перемещениях. Так и отловишь сочетания "Бум барах". Название: Re: Вылет при использовании QAbstractTableModel Отправлено: Achernar от Май 24, 2014, 14:44 Нашел в data() не возвращал значение по умолчанию, вот так работает:
Код: QVariant GameTable::data(const QModelIndex &index, int nRole) const Название: Re: Вылет при использовании QAbstractTableModel Отправлено: gil9red от Май 24, 2014, 19:33 gil9red % на 80 прав, я думаю :) Сделай проще свою систему - повтыкай в начале изменения данных либо qDebug либо в лог выводи данные о перемещениях. Так и отловишь сочетания "Бум барах". И все равно не угадал )) |