Russian Qt Forum
Июля 04, 2025, 12:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: изменение узловых точек на графике с помощью мыши  (Прочитано 2771 раз)
sandre
Гость
« : Октября 20, 2010, 13:35 »

Если уже чтонить готовое, или самому писть придеться?
Записан
p166
Гость
« Ответ #1 : Октября 21, 2010, 22:44 »

1. можно покопать в сторону QWT, может у них есть что-то подобное
2. можно посмотреть в примерах QT, в одном примере по работе с графикой было
3. можно и самому написать, там кода не так много (в одном из проектов как раз делал)
Записан
sandre
Гость
« Ответ #2 : Октября 22, 2010, 07:07 »

можно покопать в сторону QWT, может у них есть что-то подобное

С Qwt щас копаю
[quote}
3можно и самому написать, там кода не так много (в одном из проектов как раз делал)
[/quote]

Можеш алгоритм в кратце описать, и что использовал для этого?
Записан
p166
Гость
« Ответ #3 : Ноября 11, 2010, 16:19 »

можно покопать в сторону QWT, может у них есть что-то подобное

С Qwt щас копаю
[quote}
3можно и самому написать, там кода не так много (в одном из проектов как раз делал)

Можеш алгоритм в кратце описать, и что использовал для этого?
[/quote]

На случай, если все еще актуально:
1. Отслеживаем перемещения мыши и получаем координаты
2. маппируем на отображенный график и проверям попадают ли они на область рядом с точкой графика
3. если попадают то обновляем отображение точки дабы показать пользователю что с ней можно чтото делать
4. отслеживаем перемещения с зажатой кнопкой: при каждом сигнале перемещения перерисововаем график исходя из текущих координат мыши (или точка старта перемещения + сдвиг)

Вот вроде и все, не так сложно как кажется!

Наследоваться например от QWidget и переопределить:
mouseMoveEvent
mouseReleaseEvent
mousePressEvent
paintEvent
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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