Название: Связь графики и данных QGraphicObject Отправлено: ammaximus от Июль 29, 2012, 00:42 Я использую QVector для хранения объектов. Можно ли еще больше расширить функционал, унаследовав эти объекты от QGraphicObject, чтобы не пересылать данные отображения в отдельный массив? Основной вопрос в том, что вектор является мутексированным и используется кучей потоков.
Еще я добавляю в объекты ссылки на формы(отдельный поток), которые специализируются в редактировании конкретных объектов. Смысл в возможности создания впоследствии наследников с собственными интерфейсами. Насколько это противоречит идеологии? Название: Re: Связь графики и данных QGraphicObject Отправлено: Igors от Июль 29, 2012, 01:05 Я использую QVector для хранения объектов. Можно ли еще больше расширить функционал, унаследовав эти объекты от QGraphicObject, чтобы не пересылать данные отображения в отдельный массив? Основной вопрос в том, что вектор является мутексированным и используется кучей потоков. Вектор перемещает элементы при добавлении. Если объект солидный (а QGraphicObject да) то надо хранить в QVector не сами объекты, а указатели на них.Еще я добавляю в объекты ссылки на формы(отдельный поток), которые специализируются в редактировании конкретных объектов. Смысл в возможности создания впоследствии наследников с собственными интерфейсами. Насколько это противоречит идеологии? Мало информации чтобы что-то рекомендовать. В смысле идеологии можно так: возможен ли объект не имеющий "формы"? Да запросто. Значит надо хранить в объекте указатель на форму (который может быть нулевым), а не ссылку. Название: Re: Связь графики и данных QGraphicObject Отправлено: ammaximus от Июль 29, 2012, 01:39 О извините, я использую указатели в обоих случаях. Меня беспокоит как QGraphicObject будет влиять на интерактивность работы многопоточного приложения, не будет ли залипаний интерфейса. Я просто пока с трудом прикидываю как будет происходить обращение к данным мутексированного графического объекта.
В обоих случаях хочу обеспечить пользователя нормальным отображением Название: Re: Связь графики и данных QGraphicObject Отправлено: Igors от Июль 29, 2012, 01:53 О извините, я использую указатели в обоих случаях. Меня беспокоит как QGraphicObject будет влиять на интерактивность работы многопоточного приложения, не будет ли залипаний интерфейса. Я просто пока с трудом прикидываю как будет происходить обращение к данным мутексированного графического объекта. Возможно Вы говорите о защите контейнера мутексами. А смысл защищать сами объекты непонятен - если методы вызывают UI, то все равно придется звать их из главной ниткиНазвание: Re: Связь графики и данных QGraphicObject Отправлено: DmitryM от Июль 29, 2012, 10:53 Все зависит от того, как используется вектор в разных нитях.
Название: Re: Связь графики и данных QGraphicObject Отправлено: ammaximus от Июль 29, 2012, 23:53 Все зависит от того, как используется вектор в разных нитях. Подготовлю мин код тогда выложу, а то так не понятноНазвание: Re: Связь графики и данных QGraphicObject Отправлено: Fregloin от Июль 30, 2012, 11:56 Как вариант, можно генерить сигналы при определенных событиях обработки данных в ваших векторах, а сигналы будут ловиться вашими графическими объектами и своевременно отрисовываться из главного потока.
|