Qt - 将qreal转换为double

时间:2012-05-28 08:40:08

标签: c++ qt double

我正在使用Ubuntu 11.10,Qt 4,Qwt 6.0.1

问题是,一般来说一切正常,Qwt编译的例子没有任何问题,但是当我尝试从QPointF.x转换为double时,我得到错误。有趣的是(在x86上)qreal应该重新定义double ...

这是不起作用的(

QPointF pt;
pt.setX(1.0);
pt.setY(2.0);
double px=pt.x;

编译器返回错误:

error: argument of type ‘qreal (QPointF::)()const {aka double (QPointF::)()const}’ does not match ‘double’

我做了些蠢事吗?

简而言之:

我需要将它转换为在继承自QwtSeriesData的类中使用,以在点之间进行自定义插值(在这种情况下,它不会是简单的线性插值)。为此,我需要方法

double y(double x) const

将返回给定x的函数值

当我简化它以使用它编译的QwtSeriesData时。为此,只需要实现

QPointF sample(size_t i) const
size_t size() const

但正如我所说,我需要自定义插值,所以似乎实现从QwtSyntheticPointData继承的接口是最好的选择。

1 个答案:

答案 0 :(得分:8)

QPointF是一个类(不是结构),QPointF::x()是一个方法,而不是公共成员。尝试:

double px = pt.x();