我正在使用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;
Run Code Online (Sandbox Code Playgroud)
编译器返回错误:
error: argument of type ‘qreal (QPointF::)()const {aka double (QPointF::)()const}’ does not match ‘double’
Run Code Online (Sandbox Code Playgroud)
我做了些蠢事吗?
简而言之:
我需要将它转换为在继承自QwtSeriesData的类中使用,以在点之间进行自定义插值(在这种情况下,它不会是简单的线性插值).为此,我需要方法
double y(double x) const
Run Code Online (Sandbox Code Playgroud)
这将返回给定x的函数值
当我简化它以使用QwtSeriesData时,它编译.为了实现这一目标,只需要实施
QPointF sample(size_t i) const
size_t size() const
Run Code Online (Sandbox Code Playgroud)
但正如我所说,我需要自定义插值,所以似乎实现从QwtSyntheticPointData继承的接口是最好的选择.
QPointF是一个类(不是结构),QPointF::x()是一个方法,而不是公共成员.尝试:
double px = pt.x();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11455 次 |
| 最近记录: |