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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите настроить QwtPlot (кое-что уже получилось)  (Прочитано 7424 раз)
Kosh
Гость
« : Ноябрь 15, 2006, 14:45 »

Мне нужно, чтобы по оси Х выводилось указанное мною значение, а число рисок было постоянным, но у них менялся шаг при масштабировании (как у старого осцильника, где, вообще, шкала на экране нарисована). Пробовала применять атрибуты QwtScaleEngine::Simmetric и QwtScaleEngine::Reference и setReference(). Но , видимо,я неправильно их использую, в общем рисуется от балды.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Ноябрь 16, 2006, 01:29 »

а Qwt какой версии?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kosh
Гость
« Ответ #2 : Ноябрь 16, 2006, 11:16 »

Qwt-5
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Ноябрь 16, 2006, 11:52 »

Есть у Qwt такая заморочка... Автомасштабирование или как там его... Короче мы тоже прогу на конторе делали, на подобные грабли напоролись... так и не порешали пока. Это в движке зашито похоже.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kosh
Гость
« Ответ #4 : Ноябрь 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 минут:

 так никто и не поможет?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #5 : Ноябрь 16, 2006, 20:26 »

Наверно, никто не сталкивался и/или не знает, что делать...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kosh
Гость
« Ответ #6 : Ноябрь 17, 2006, 10:39 »

Я плакаль =(((
 пойду ковырять сама, благо исходники есть, если что пойму, положу сюда же.
Записан
Kosh
Гость
« Ответ #7 : Ноябрь 30, 2006, 11:46 »

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

Конечно, выкладывай, мало ли кто еще потом с этим столкнется ))))
Записан
Kosh
Гость
« Ответ #9 : Декабрь 01, 2006, 17:40 »

Цитата: "Steven_Orko"
Конечно, выкладывай, мало ли кто еще потом с этим столкнется ))))

ок, немного разгребусь и выложу
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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