crossplatform.ru

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


  Ответ в QWT, метки на шкале прыгают
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ctin Дата 5.2.2012, 15:05
  чтоб не прыгало добавляем одну строку:

( указатель на объект класса QwtPlot)->setAxisLabelAlignment(QwtPlot::xBottom, Qt::AlignLeft | Qt::AlignBottom);
quarz Дата 9.12.2009, 20:26
  Нашел наиболее красивый и рабочий способ.
Ставим шкалу справа 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, место справа увеличивается, чтобы дать ей залезть на область с осью и не сжимать сам график
quarz Дата 8.12.2009, 23:35
  Кажется, до меня дошла суть дела =)
Когда метка появляется справа, часть ее находится ЗА пределами виджета, поэтому она искусственно вместе со шкалой и сдвигается. У левых меток такой проблемы нет, потому что левая вертикальная шкала раздвигает layout виджета.

Значит, надо как-то раздвинуть layout справа. Доступ к нему есть plot->layout(), но как сделать, чтобы справа от canvas еще было какое-то расстояние?
quarz Дата 8.12.2009, 3:28
  Я как обычно, про графики )
Проблема: когда метка появляется справа, она появляется полностью, при этом отодвигая график и ось. Надо чтоб метка плавно выезжала.
Я пока нашел 2 [кривых] решения: первое - выравнивать метки по левому краю. Второе - отодвинуть шкалу от правого края QwtScaleWidget::setMinBorderDist.
Но ни то, ни другое мне не кажется удобным. Есть идеи?

(В аттаче видео с сабжем)
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 8:20