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 から継承するインターフェイスを実装するのが最良の選択肢のようです。