![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
JohnZ |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Вопрос в названии темы
![]() Дело в том, что при вызове формы редактирования записи, вызванной из списка QTableView по "Enter", происходит перерисовка QTableView есс-но с обращением к data( ... ) модели. Как на время редактирования записи запретить QTableView перерисовываться, а если можно запретить ему временно обращение к data( ... ) модели, было-бы вообще супер ... |
|
|
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Нескромный вопрос, а зачем запрещать обращаться? Пусть перерисовывает, а когда закончите редактирование, обновите данные, не?
|
|
|
JohnZ |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
lanz, ну почему-же нескромный ?!
![]() Вот тут http://www.forum.crossplatform.ru/index.php?showtopic=10180 я положил реализацию модели. columnCount() удалил, оказалась лишней. Взгляните на ф-цию data(). Вкратце суть такова, - есть в БД таблица, допустим 20 полей, fld_1, fld_2 ... fld_20. В списке нужно показать допустим 3 поля, - fld_5 fld_3 fld_8 - _именно_ в таком порядке ! В форме редактирования, как Вы понинимаете, должны быть все 20. Дык вотЪ, при такой реализации ф-ции data(), список показывает так как задумано, (т.е. ремап колонок вручную ![]() причём за вызванной формой, и перестраивание колонок списка в порядке fld_1, fld_2, fld_3 ![]() т.к. флажок inList в этот момент выключен. Получается, что вызванная форма (на модальном диалоге !) не перекрывает доступ списку к модели ?! Как с этим бороться, пока не знаю ![]() После закрытия формы редактирования, (флажок inList включен) список восстанавливается как было до вызова формы ... |
|
|
lanz |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Сделайте две proxy-модели, по одной для каждой формы. А то так вы замучаетесь.
Либо пусть редактор оперирует на центральной модели. А так вы тащите бизнес-логику в модель, что не есть правильно - получаются такие проблемы как у вас сейчас. Пусть поток данных направляет ваш дизайн ![]() Что то вроде того что в приложении. не перекрывает доступ списку к модели ?! Нет, иначе как бы окно перерисовывалось, в модальном диалоге есть event loop, который качает события для этого треда. Сообщение отредактировал lanz - 17.10.2014, 22:32
Прикрепленные файлы
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 8.7.2025, 7:44 |