Russian Qt Forum

Qt => Model-View (MV) => Тема начата: xsau от Июнь 15, 2010, 16:51



Название: как сделать вот такое вот обноление QTableView
Отправлено: xsau от Июнь 15, 2010, 16:51
Значит имею

QAbstractTableView & QTableView

Входными данными в модель являются QList<QStringList>, но по ходу программы QList лиюо увеличивается либо уменьшается
я сделал функцию

Код:
void CInterfacesModel::EnterData(QList<QStringList> &List, int SizeRow)
{
m_Lists = List;
m_SizeRow = SizeRow;
}

которую вызываю там где изменяется QList, но ничего не срабатывает. Почему??))


Название: Re: как сделать вот такое вот обноление QTableView
Отправлено: lit-uriy от Июнь 15, 2010, 17:26
при изменении в модели нужно уведомлять заинтересованные объекты, читай
Создание собственных моделей (http://doc.crossplatform.ru/qt/4.5.0/model-view-model-subclassing.html)

И зачем тебе SizeRow в этой функции?


Название: Re: как сделать вот такое вот обноление QTableView
Отправлено: xsau от Июнь 15, 2010, 17:55
при изменении в модели нужно уведомлять заинтересованные объекты, читай
Создание собственных моделей (http://doc.crossplatform.ru/qt/4.5.0/model-view-model-subclassing.html)

И зачем тебе SizeRow в этой функции?

через SizeRow я вначале думал передавать количество строк
читаю...


Название: Re: как сделать вот такое вот обноление QTableView
Отправлено: xsau от Июнь 15, 2010, 18:11
помогло вызовом сигнала layoutChanged()

Спасибо что уткнули в правильный ответ  ;)


Название: Re: как сделать вот такое вот обноление QTableView
Отправлено: lit-uriy от Июнь 16, 2010, 04:02
>>через SizeRow я вначале думал передавать количество строк
любой контейнер знает свой размер, спроси у метода size() и он скажет


Название: Re: как сделать вот такое вот обноление QTableView
Отправлено: xsau от Июнь 16, 2010, 13:35
так и сделал)