Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Kosh от Ноябрь 15, 2006, 14:45



Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Kosh от Ноябрь 15, 2006, 14:45
Мне нужно, чтобы по оси Х выводилось указанное мною значение, а число рисок было постоянным, но у них менялся шаг при масштабировании (как у старого осцильника, где, вообще, шкала на экране нарисована). Пробовала применять атрибуты QwtScaleEngine::Simmetric и QwtScaleEngine::Reference и setReference(). Но , видимо,я неправильно их использую, в общем рисуется от балды.


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Racheengel от Ноябрь 16, 2006, 01:29
а Qwt какой версии?


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Kosh от Ноябрь 16, 2006, 11:16
Qwt-5


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Racheengel от Ноябрь 16, 2006, 11:52
Есть у Qwt такая заморочка... Автомасштабирование или как там его... Короче мы тоже прогу на конторе делали, на подобные грабли напоролись... так и не порешали пока. Это в движке зашито похоже.


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Kosh от Ноябрь 16, 2006, 18:17
С масштабированием я проблему решила довольно просто - самый тупой вариант - объединить в виджете QScroller и QwtPlot:
 - скроллер содержит весь диапазон значений оси Х / минимальный шаг (назовем его minSX) между рисками, pageStep - число минимальных шагов, отражаемых в окне плотера;
 -  plotter->setAxisScale( ... , X - scroller->pageStep()/2* minSX, X + scroller->pageStep()/2*minSX, scroller->pageStep()*minSX/10 );
   ploter->replot();
   10 -  постоянное число рисок на экране плотера.
   Теперь достаточно увеличивать pageStep, чтобы увеличивать масштаб.
Но только при этом риски мечутся по экрану, т. к. рисуются от левого угла, ну и погрешности, конечно.
   Если бы можно было указывать, что Х надо рисовать в центре, меня бы это уже устроило. Я думела , что атрибут  QwtScaleEngine::Simmetric поможет, но ничего не меняется =(((

добавлено спустя 5 часов 12 минут:

 так никто и не поможет?


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Racheengel от Ноябрь 16, 2006, 20:26
Наверно, никто не сталкивался и/или не знает, что делать...


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Kosh от Ноябрь 17, 2006, 10:39
Я плакаль =(((
 пойду ковырять сама, благо исходники есть, если что пойму, положу сюда же.


Название: кое-что получилось
Отправлено: Kosh от Ноябрь 30, 2006, 11:46
Я его добила!!! Оказалось, всё довольно просто. Если кому интересно, могу выложить описание с кодом, только это займёт какое-то время - надо привести в более универсальный вид.
   В представлении участуют: QwtPlot, QSlider и QScrollBar. Скроллер позволяет перемещаться по плотеру вдоль оси Х, а слайдер задаёт масштаб на этой оси.
   Правда, мне не удалось заставить плотер рисовать риски симметрично центру, но это надо будет ещё покапаться. Времени нет.


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Steven_Orko от Ноябрь 30, 2006, 22:24
Конечно, выкладывай, мало ли кто еще потом с этим столкнется ))))


Название: Помогите настроить QwtPlot (кое-что уже получилось)
Отправлено: Kosh от Декабрь 01, 2006, 17:40
Цитата: "Steven_Orko"
Конечно, выкладывай, мало ли кто еще потом с этим столкнется ))))

ок, немного разгребусь и выложу