Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Март 26, 2013, 15:48



Название: QWT
Отправлено: demaker от Март 26, 2013, 15:48
Подскажите, как получить координаты курсора на графике?


Название: Re: QWT
Отправлено: madRoger от Март 26, 2013, 20:00
Код:
QPoint QwtPicker::trackerPosition() const
..вернет координаты в пикселах.

Чтобы преобразовать в координаты графика:
Код:
QPointF QwtPlotPicker::invTransform (const QPoint & pos) const


Название: Re: QWT
Отправлено: demaker от Март 27, 2013, 10:31
делаю вот так, пытаюсь сделать точку в координатах графика

Код:
d_picker->invTransform( d_picker->trackerPosition() );

выдает ошибку
Код:
d:\qwt-6.0.1\src/qwt_plot_picker.h: In member function 'void Plot::sl_newScale1(double)':
d:\qwt-6.0.1\src/qwt_plot_picker.h:98: error: 'QPointF QwtPlotPicker::invTransform(const QPoint&) const' is protected

что делать???


Название: Re: QWT
Отправлено: madRoger от Март 27, 2013, 10:40
Наследоваться и в своем public-методе использовать invTransform.


Название: Re: QWT
Отправлено: demaker от Март 27, 2013, 10:46
т.е
так
Код:
class PlotPicker:: public QwtPlotPicker
{
  ...
piublic:
    double invT_x() const
    {
         return invTransform(trackerPosition() ).x();
    }
};



Название: Re: QWT
Отправлено: madRoger от Март 27, 2013, 10:50
yes


Название: Re: QWT
Отправлено: demaker от Март 27, 2013, 10:52
 :)