著者の指示に従って、プログラムをコンパイルしようとしています (ここにあります: http://sourceforge.net/projects/lisem/ )。ただし、Qt Creator でコンパイルすると、次のエラーが発生します。
invalid conversion from 'QWidget*' to 'QwtPlotCanvas*' [-fpermissive]
LisUImapplot.cppのこの行
186 picker = new MyPicker( MPlot->canvas() );
そのヘッダー ファイル (LisUImapplot.h) へのリンクは、cpp ファイルと同じフォルダーにあります。
class MyPicker: public QwtPlotPicker
{
public:
MyPicker( QwtPlotCanvas *canvas ):
QwtPlotPicker( canvas )
{
setTrackerMode( AlwaysOn );
}
virtual QwtText trackerTextF( const QPointF &pos ) const
{
QColor bg( Qt::white );
bg.setAlpha( 100 );
QwtPlotItemList list = plot()->itemList(QwtPlotItem::Rtti_PlotSpectrogram);
QwtPlotSpectrogram * sp = static_cast<QwtPlotSpectrogram *> (list.at(1));
double z = sp->data()->value(pos.x(), pos.y());
QString txt = "";
if (z > -1e10)
txt.sprintf( "%.3f", z );
QwtText text = QwtText(txt);
text.setColor(Qt::black);
text.setBackgroundBrush( QBrush( bg ) );
return text;
}
};
これについて私を助けてくれることを願っています。ありがとうございました!
Qt 5.1.1 MinGW 32 ビットおよび Qwt 6.1.0 を使用しています