Здравствуйте.
Есть график QWT который масштабирую.
Основа взята из уроков
http://www.prog.org.ru/topic_11884_0.htmlhttp://qtlinux.narod.ru/qwtchartzoom.htmОтдельное спасибо их авторам.
Перехватываются события элементов управления в
eventFilter(QObject *obj,QEvent *event)
который зарегистрирован в канве
qwtp->canvas()->installEventFilter(this);
Шкала по Х мне нужна только положительная.
При масштабировании я запоминаю, положение Х курсора мыши,
для того чтобы при масштабировании графика, эта точка на графике, оставалась на месте, а двигался график по бокам.
Все работает при прокрутке колесом мыши.
Но мне нужно изменять масштаб клавишами '+', '-'
Я перехватываю события от клавиатуры в eventFilter
if (event->type() == QEvent::KeyPress ||
event->type() == QEvent::KeyRelease)
{
QKeyEvent *kEvent = static_cast<QKeyEvent *>(event);
......
}
Тоже все замечательно, но тут главная проблема я не могу получить координаторы мыши
Если сделать так
QMouseEvent *mEvent = static_cast<QMouseEvent *>(event);
То в mEvent получаю левые значения.
Проблему решил следующим образом, постоянно отслеживаю положение мыши и сохраняю ее координаты.
В принципе все работает, но хочется считать положение курсора мыши вместе с обработкой события от клавиатуры.
Подскажите как это реализовать.