crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Обновление данных в модели-представлении
AD
  опции профиля:
сообщение 20.5.2009, 15:49
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Итак есть модель-представление. QAbstractTableModel - модель, QTableView - представление. Табличка заполняется при открытии определенных файлов (.fpl). Как сделать так, чтобы происходило обновление представления при загрузке другого файла? Обновление модели есть, делаю новое setModel(<model>), но это не помогает. Как обновить табличку?

Т.е. если загрузил файл, где количество строк больше ранее загруженного! Как заставить представление это отобразить корректно? В данный момент оно упорно отображает пред. кол-во строк. Список, из которого идет формирование таблички, обновляется корректно!

Сообщение отредактировал AD - 20.5.2009, 15:52
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 9)
Litkevich Yuriy
  опции профиля:
сообщение 20.5.2009, 20:02
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 20.5.2009, 19:49) Link
Как обновить табличку?
я так понимаю модель самописанная. Ты при не модель новую устанавливай для представления, а в модели сделай что типа: setFile()
в этом методе вызывай reset()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.5.2009, 21:23
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 20.5.2009, 21:02) Link
я так понимаю модель самописанная. Ты при не модель новую устанавливай для представления, а в модели сделай что типа: setFile()
в этом методе вызывай reset()

модель самописанная, основанная на указанной. Юра, а можно по-русски, ничего не понял из твоей фразы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.5.2009, 21:40
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 20.5.2009, 19:49) Link
Обновление модели есть, делаю новое setModel(<model>), но это не помогает.
ну я тут тоже по догадке.
Что значит есть обновление? Как ты меняешь файл?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.5.2009, 22:07
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 20.5.2009, 22:40) Link
ну я тут тоже по догадке.
Что значит есть обновление? Как ты меняешь файл?

Заменяю один файл на другой! Содержимое файла не изменяется. Файлы только читаю! Т.е. список, который хранит данные из файла, изменяется вовремя.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.5.2009, 22:12
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 20.5.2009, 19:49) Link
делаю новое setModel(<model>),
какое отношение это имеет к
Цитата(AD @ 21.5.2009, 2:07) Link
Заменяю один файл на другой!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.5.2009, 22:49
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 20.5.2009, 23:12) Link
Цитата(AD @ 20.5.2009, 19:49) Link
делаю новое setModel(<model>),
какое отношение это имеет к
Цитата(AD @ 21.5.2009, 2:07) Link
Заменяю один файл на другой!


За счет этого происходит обновление списка. а как еще?

Сообщение отредактировал AD - 20.5.2009, 22:50
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.5.2009, 23:29
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ни чего не понял.
setModel(<model>) ты для чего вызываешь, для представления?
Если да, то зачем? Ведь у тебя уже установлена модель. Доработай модель так, что бы у нее был метод setFile(...).
по аналогии с QSqlQueryModel (в неё есть метод setQuery() )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 21.5.2009, 10:42
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Насколько я понял, в функции открытия файла ты читаешь его содержимое и заполняешь какие-то внутренние структуры с данными. Вот сразу после того, как ты загрузил все из файла, вызови метод reset для своей модели( Link ).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 21.5.2009, 12:12
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Sokoloff, спасибо! :) Задача решена.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 10.12.2025, 14:46