Russian Qt Forum

Qt => Qt Quick => Тема начата: OKTA от Декабрь 26, 2011, 20:14



Название: Изменение свойств объектов в ListModel
Отправлено: OKTA от Декабрь 26, 2011, 20:14
Товарищи! Подскажите!
Есть ListModel, у каждого объекта есть поле типа bool. Как пройтись по всем объектам и сделать какое-либо действие с теми, у которых это поле например true??



Название: Re: Изменение свойств объектов в ListModel
Отправлено: kibsoft от Декабрь 26, 2011, 21:29
object ListModel::get ( int index )

или сделать биндинг в объявлении объекта (в зависимости от ситуации):
your_property: your_property ? do_something_if_true() : do_something_if_false();


Название: Re: Изменение свойств объектов в ListModel
Отправлено: OKTA от Декабрь 27, 2011, 00:03
Это понятно, но нужно примерно следующее!
Имеем список объектов с чек боксами - имеем возможность по нажатию кнопки выделить все, а при нажатии другой кнопки - например удалить все выбранные! =) Можно ли каким-либо способом простой цикл например сделать?? Без яваскрипта кстати)


Название: Re: Изменение свойств объектов в ListModel
Отправлено: kibsoft от Декабрь 27, 2011, 14:01
Цикл конечно-же джаваскриптом используя object ListModel::get ( int index )..а как еще?? Qt Quick на нем построен.

Код:
for (var i=0; i < model.count; ++i) {
   var obj = model.get(i);
   //изменить нужное свойство у obj
}


Название: Re: Изменение свойств объектов в ListModel
Отправлено: OKTA от Декабрь 27, 2011, 14:43
у меня проблема с яваскриптом =)) если его использовать, то с ним приплывает лицензия LGPL))) а мне она не очень нужна))))


Название: Re: Изменение свойств объектов в ListModel
Отправлено: kibsoft от Декабрь 27, 2011, 15:30
Qt и так распространяется по LGPL.
и кстати, чем плоха LGPL?


Название: Re: Изменение свойств объектов в ListModel
Отправлено: OKTA от Декабрь 29, 2011, 05:04
Попробовал через яваскрипт изменять параметры - вышло следующее - int и string меняются, bool - не меняется. 0_О