Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Larry от Январь 29, 2016, 11:12



Название: [РЕШЕНО]Обновление данных в QTableView
Отправлено: Larry от Январь 29, 2016, 11:12
Добрый день.
Подскажите пожалуйста, как обновить данные в таблице. Использую QTableView + свою модель (от QAbstractTableModel). В модель передаю свою структуру данных, но как теперь обновить данные?


Название: Re: Обновление данных в QTableView
Отправлено: gil9red от Январь 29, 2016, 11:22
Вот этими методами вы уведомляете модель об изменениях:
    An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and it must call endInsertRows() immediately afterwards.
    An insertColumns() implementation must call beginInsertColumns() before inserting new columns into the data structure, and it must call endInsertColumns() immediately afterwards.
    A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and it must call endRemoveRows() immediately afterwards.
    A removeColumns() implementation must call beginRemoveColumns() before the columns are removed from the data structure, and it must call endRemoveColumns() immediately afterwards.


Название: Re: Обновление данных в QTableView
Отправлено: Larry от Январь 29, 2016, 11:37
Спасибо, но немного не понятно как реализовать...не догоняю ???.
beginInsertRows - перед вставкой данных в структуру и endInsertRows после.
Я данные вставляю из вне или я неправильно понял?


Название: Re: Обновление данных в QTableView
Отправлено: gil9red от Январь 29, 2016, 11:51
Посмотрите как у меня сделано: https://github.com/gil9red/ListFiles
Вам нужен filelistmodel.h


Название: Re: Обновление данных в QTableView
Отправлено: Larry от Январь 29, 2016, 12:02
Спасибо большое. Сейчас попробую сделать у себя.


Название: Re: [РЕШЕНО]Обновление данных в QTableView
Отправлено: Larry от Январь 29, 2016, 13:08
gil9red,
Спасибо большое, все работает.


Название: Re: [РЕШЕНО]Обновление данных в QTableView
Отправлено: gil9red от Январь 29, 2016, 14:50
 :)