Russian Qt Forum

Qt => Model-View (MV) => Тема начата: sergeyvl12 от Август 26, 2009, 12:13



Название: [РЕШЕНО] Синхронизация QTableView и QAbstractTableModel
Отправлено: sergeyvl12 от Август 26, 2009, 12:13
Добрый день!

Создал свою модель таблицы на основе QAbstractTableModel (см. http://www.prog.org.ru/topic_10393_0.html).

Не совсем понимаю как проапдейтить QTableView при изменении модели (а вернее хранилища данных).

для вставки строки написал:
Код:
bool CreditTableModel::insertRow ( int row, const PaymentInfo& payment, const QModelIndex & parent )
{
    beginInsertRows(parent, row, row);
    credit_.payments.push_back(payment);
    endInsertRows();
    return true;
}

При вставке апдейтится нормально.

То же могу написать и для удаления...

Но неужели нет универсального способа? Просто сказать представлению что данные изменились.

Например когда я загружаюсь из файла, старые данные должны быть удалены а новые загружены. Как в этом случае проапдейтить представление?


Название: Re: Синхронизация QTableView и QAbstractTableModel
Отправлено: Авварон от Август 26, 2009, 12:35
если всю модель - то reset(). Еще есть сигнал dataChanged


Название: Re: Синхронизация QTableView и QAbstractTableModel
Отправлено: sergeyvl12 от Август 26, 2009, 13:05
если всю модель - то reset(). Еще есть сигнал dataChanged

Спасибо! reset() помог.