Russian Qt Forum
Ноябрь 23, 2024, 00:55
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
QwtPlot, QwtPlotMarkes
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QwtPlot, QwtPlotMarkes (Прочитано 4058 раз)
carhun
Гость
QwtPlot, QwtPlotMarkes
«
:
Август 10, 2012, 15:12 »
Добрый день.
У меня есть допустим 10 QwtPlot'в на к-ых нарисовано на каждом по 5-10 кривых QwtPlotCurve ( к-ые плюс ко всему еще и solid).
И дальше, что мне надо мне надо завести маркер на каждую кривую и в нем отображать значение оси Y , к-ое соотвествуется определенном Х.
Значение Х я беру исходя из QwtPlotPicker'a - QwtPlotPicker - SIGNAL(moved(QPointF)).
Так вот проблема заключается в том, что если я начну возить мышкой по графику, то соотвественно все значения надо пересчитывать, и заново атаачить на плоты и соотв. реплотить плоты... В связи с этим возникают очень большие лаги....
Как с этим можно бороться?
Как сделать если у меня есть допустим на каждый плот QwtPlotPicker и как тогда, что бы когда я вожу по одному из плотов, на отсальных плотах трекеры тоже отображались?
С уважением,
carhun
«
Последнее редактирование: Август 10, 2012, 15:57 от carhun
»
Записан
kvrus
Гость
Re: QwtPlot, QwtPlotMarkes
«
Ответ #1 :
Август 29, 2012, 11:26 »
Как то год назад думал над этим же вопросом. Нужны были маркеры: сначала сделал так же как и вы пробовал перетаскивать маркер и все тормозило. Потом пошел дальше сделал оверлей прозрачный виджет поверх плоттера на котором обрабатывал перетаскивание и перерисовку (при этом плоттер не перерисовывался), все вроде работало быстренько, но
только оверлей перехватывал все события мыши над плоттером, соответственно зуммер не работал. Такой вариант не понравился и я вообще забил на тему. Недавно потребовалось делать задачу: на график накладывать маску. Это так же требует манипуляций с перетаскиванием объектов мышью по плоттеру. Реализовал через класс CanvasPicker (помоему в примерах QWT он есть). Он работает как обработчик событий для QWT очень быстро, можно поставить фильтр на события. Если в следующий раз соберусь делать маркер, то сделаю через этот класс. Попробуйте использовать его.
Записан
carhun
Гость
Re: QwtPlot, QwtPlotMarkes
«
Ответ #2 :
Сентябрь 10, 2012, 16:04 »
Спасибо, именно так и решил, через прозрачный виджет наложенный сверху...
Также, если кому-то может надо будет, то в trunk'e QWT сейчас есть класс QwtPlotOverlay , к-ый делает по сути тоже самое...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...