Название: QGraphicsLayout [РЕШЕНО] Отправлено: vitalka от Февраль 28, 2012, 12:21 Есть класс, который наследуется от QGraphicsLayout. Возникла проблема в изменении размеров итемов Layoutа. То есть размеры самих итемов я меняю, но Layout их не использует, а берет старые из кэша. В какой то мере эту проблему мне удалось обойти, подставляя в классе нужные размеры, однако оказалось что в некоторых случаях итемы с новыми размерами перерисовываются некорректно, так как почему то используются старые прямоугольники.
Может кто подскажет, как в QGraphicsLayout корректно сообщить что размеры итемов уже недействительны и пора их менять на новые? Название: Re: QGraphicsLayout Отправлено: Bepec от Февраль 28, 2012, 12:23 Какой нибудь reset или update или repaint?
Честно - незнаю :) Название: Re: QGraphicsLayout Отправлено: vitalka от Февраль 28, 2012, 12:26 Какой нибудь reset или update или repaint? Пробовал, не помогло. (Название: Re: QGraphicsLayout Отправлено: vitalka от Февраль 28, 2012, 12:32 Я так полагаю, что дело не в перерисовке, а в кэше, который хранит размеры итемов. Вот никак не могу понять ка этот кэш сбросить.
Название: Re: QGraphicsLayout Отправлено: _OLEGator_ от Февраль 28, 2012, 14:37 Попробуйте вызывать в месте изменения размера айтема:
Код
Название: Re: QGraphicsLayout Отправлено: vitalka от Февраль 29, 2012, 05:14 Попробуйте вызывать в месте изменения размера айтема: Нет, это не помогло.Код
Однако вопрос решился случайно. Я после изменения параметров вызывал Код: layout->updateGeometry(); |