Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Баги при скролинге QGraphicsScene

Автор: RazrFalcon 30.3.2011, 20:21

1) При старте горизонтального скролинга сцена, немного, опускается вниз, почему?
2) Вертикальная линия, красная, не стирается при движении.

Подробнее объяснить сложно, смотрим пример :rolleyes:

Пример прилагается.

 plot.zip ( 1.88 килобайт ) : 110
 

Автор: vintik 30.3.2011, 21:31

в конструкторе сперва делаешь
scene->setSceneRect(0,0,550,300);
а в слоте потом
scene->setSceneRect(0,0,scene->width()+step,320);
Меняешь значение высоты - вот и происходит скачёк.

По поводу линии - она никуда и не будет деваться. Ты её нарисовал один раз в констукторе, потом в фильтре событий сдвигаешь(vLine->setPos) её позицию(ТОЛЬКО при наведении курсора), а при движении(скролинге), который ты осуществляешь по таймеру линию ты и не двигаешь, и не делаешь её, например, невидимой.

Автор: RazrFalcon 30.3.2011, 21:45

Думаю без картинок не обойтись.

1) Я двигаю его в бок, а сбивается он вниз. Где то на 10 пикселей.

Раскрывающийся текст
http://itmages.ru/

2) Линии как бы не стираются.
Раскрывающийся текст
http://itmages.ru/

Автор: vintik 30.3.2011, 22:17

установи во всех scene->setSceneRect 4тым параметром 320! Тогда не будет ничего сбиваться.
Вот с линиями странные дела... у меня всё работает как и должно согласно исходникам... сборка под линукс gcc-4.3.4, qt-4.5
Может исходники уже поменялись?
Кстати, у тебя вот такие штуки в реализации класса
button = new QPushButton("Button");
вообще как бы утечка памяти, неплохо бы родителя назначить
button = new QPushButton("Button", this);

Автор: RazrFalcon 30.3.2011, 22:37

Не знал.
320 помогло! Не подумал/заметил...
У меня 4.7.0 - бага есть. Надо будет еще на винде проверить. Возможно бага самой ubuntu.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)