Russian Qt Forum
Ноябрь 24, 2024, 00:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Искажения при скролле айтема с кешем DeviceCoordinateCache.  (Прочитано 2372 раз)
alexman
Гость
« : Ноябрь 22, 2011, 11:48 »

Есть айтем с кешем DeviceCoordinateCache. При рисовке отображаются примитивы: квадратики, крестики... При скролле картинка искажается (например, квадратики растягиваются). Что можно сделать в этой ситуации?
« Последнее редактирование: Ноябрь 22, 2011, 14:21 от alexman » Записан
daimon
Гость
« Ответ #1 : Ноябрь 30, 2011, 03:19 »

Добавил рисование текста в функции paint для itema и привязал начало рисование этого текста к точке, где распологается итем; так вот лагает перерисовка, если резко начинаю двигать итем, остаётся шлейф от текста. Как решить проблему?


Код
C++ (Qt)
void Edge::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
{
   if (!source || !dest)
       return;
 
   QLineF line(sourcePoint, destPoint);
   if (qFuzzyCompare(line.length(), qreal(0.)))
       return;
 
   painter->setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
   painter->drawLine(line);
 
painter->drawText(sourcePoint,"dfdff");
 
}
 
Записан
alexman
Гость
« Ответ #2 : Ноябрь 30, 2011, 09:08 »

Возможно boundingRect неверный.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.236 секунд. Запросов: 20.