crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QWT, метки на шкале прыгают, а надо чтобы плавно выезжали
quarz
  опции профиля:
сообщение 8.12.2009, 3:28
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 3.11.2009
Пользователь №: 1202

Спасибо сказали: 5 раз(а)




Репутация:   0  


Я как обычно, про графики )
Проблема: когда метка появляется справа, она появляется полностью, при этом отодвигая график и ось. Надо чтоб метка плавно выезжала.
Я пока нашел 2 [кривых] решения: первое - выравнивать метки по левому краю. Второе - отодвинуть шкалу от правого края QwtScaleWidget::setMinBorderDist.
Но ни то, ни другое мне не кажется удобным. Есть идеи?

(В аттаче видео с сабжем)
Прикрепленные файлы
Прикрепленный файл  Video_2009_12_08_031929.wmv ( 28.88 килобайт ) Кол-во скачиваний: 403
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
quarz
  опции профиля:
сообщение 9.12.2009, 20:26
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 3.11.2009
Пользователь №: 1202

Спасибо сказали: 5 раз(а)




Репутация:   0  


Нашел наиболее красивый и рабочий способ.
Ставим шкалу справа axisEnble(QwtPlot::yRight), устанавливаем для нее свой ScaleDraw, в котором переопределяем методы
virtual void drawTick(QPainter *p, double val, int len) const{}
virtual void drawBackbone(QPainter *p) const{}
virtual void drawLabel(QPainter *p, double val) const{}

чтобы сама шкала не была видна, и управляем шириной этой шкалы через setMinimumExtent.


А вот и видео )
На нем видно, как при появлении метки 100, место справа увеличивается, чтобы дать ей залезть на область с осью и не сжимать сам график
Прикрепленные файлы
Прикрепленный файл  Video_2009_12_09_202258.wmv ( 67.23 килобайт ) Кол-во скачиваний: 370
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 9.4.2020, 13:02