crossplatform.ru

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

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Модель и ее изменение, как реализовать сохранение изменений по наж.кнопки
Litkevich Yuriy
  опции профиля:
сообщение 3.6.2010, 13:29
Сообщение #11


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

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

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




Репутация:   94  


Цитата(shamanix @ 3.6.2010, 13:56) *
чекбоксы просто означают выбран\не выбран
а что значит выбран/не выбран.
опиши подробнее, как это должно работать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
shamanix
  опции профиля:
сообщение 3.6.2010, 14:25
Сообщение #12


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 10.3.2010
Пользователь №: 1522

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 3.6.2010, 14:29) *
Цитата(shamanix @ 3.6.2010, 13:56) *
чекбоксы просто означают выбран\не выбран
а что значит выбран/не выбран.
опиши подробнее, как это должно работать

привожу скриншот. на нем изображен диалог, элементы которого берутся просто из базы. я отмечаю нужное галкой, жмакаю ОК и получаю на выходе массив выбранных значений,которые я уже использую дальше для выборок. в качестве элементов используется QStandardItem. проблема в том что я открыл диалог,выбрал элементы(т.е поставил галки) и жму отмену(передумал) - но галки все равно остаются поставленными.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 3.6.2010, 14:54
Сообщение #13


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

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




Репутация:   1  


Ну так по клику на "Отмена" пройдись по всем айтемам, и те, которые Checked , ставь checked(false). (возможно не оптимальное, но самое первое что пришло в голову).

Сообщение отредактировал Andrewshkovskii - 3.6.2010, 14:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
shamanix
  опции профиля:
сообщение 3.6.2010, 15:01
Сообщение #14


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 10.3.2010
Пользователь №: 1522

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




Репутация:   0  


Цитата(Andrewshkovskii @ 3.6.2010, 15:54) *
Ну так по клику на "Отмена" пройдись по всем айтемам, и те, которые Checked , ставь checked(false). (возможно не оптимальное, но самое первое что пришло в голову).

не факт что юзер только начал работать с программой и все стоят в false :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.6.2010, 15:12
Сообщение #15


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

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

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




Репутация:   94  


Цитата(shamanix @ 3.6.2010, 19:01) *
не факт что юзер только начал работать с программой и все стоят в false
не понял, а откуда там другие состояния, если их в БД нет, а ты их всего лишь в диалоге эти галки делаешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 3.6.2010, 15:13
Сообщение #16


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

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




Репутация:   1  


Тоесть? Я так понимаю, что тебе нада зафиксировать предыдущие состояние модельки, и если пользователь снова открыл её , натыкал чекбоксов, а потом нажал отмена - состояние восстановилось? Ну тогда и сохрани него!Заведи булевый массив, где ты при каждом "Ок" сохранять состояние элемента, т.е для отмеченого 5го элемента - 5ый элемент массива будет true. И при ОК перезаписывай массив, при отмене восстанавливай значения..?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
shamanix
  опции профиля:
сообщение 3.6.2010, 15:19
Сообщение #17


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 10.3.2010
Пользователь №: 1522

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 3.6.2010, 16:12) *
Цитата(shamanix @ 3.6.2010, 19:01) *
не факт что юзер только начал работать с программой и все стоят в false
не понял, а откуда там другие состояния, если их в БД нет, а ты их всего лишь в диалоге эти галки делаешь?

не не,я наверное не ясно выразился. просто когда я открываю диалог то там уже могут стоять галки,с предыдущего его открытия. и если я жму "Отмена" то все что было отмечено сбрасывается, а это не годится

Цитата(Andrewshkovskii @ 3.6.2010, 16:13) *
Тоесть? Я так понимаю, что тебе нада зафиксировать предыдущие состояние модельки, и если пользователь снова открыл её , натыкал чекбоксов, а потом нажал отмена - состояние восстановилось? Ну тогда и сохрани него!Заведи булевый массив, где ты при каждом "Ок" сохранять состояние элемента, т.е для отмеченого 5го элемента - 5ый элемент массива будет true. И при ОК перезаписывай массив, при отмене восстанавливай значения..?

да вариант, но как-то поизящнее хотелось бы)) думал может я чего не знаю, есть в Qt стандартные средства. если не найду придется так и сделать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.6.2010, 15:30
Сообщение #18


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

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

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




Репутация:   94  


shamanix, нужно делать наследника от твоей модели и реализовать там метод revert()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 8.1.2025, 18:18