2017-10-03 11 views
-1

Qt作成者4.2.1を使用しています。私はQwt libを正常にインストールして、QwtPlotウィジェットをドラッグ&ドロップしてフォームに入れることができました。私はカスタムクラスPlot:public QwtPlotを持っています。私は自分のフォームにQwtPlotを追加して、ウィジェットをPlotにプロモートすることができたらいいと思う。Qtプロモートの基本クラスとしてQwtPlotを追加するには?

しかし、私がしようとすると、昇格ダイアログボックスにQwtPlotが選択できるベースクラスとして表示されません。基本クラスとしてQWidgetを選択して、昇格クラスとヘッダーファイルとして "Plot"と "plot.h"を指定すると、 "class Plot"の再定義を不満にしてビルドエラーが発生しました。私は既に私のプロジェクトでplot.hを持っていますが、それは私のために別の "クラスプロット"を作成するようです。したがって、コンパイラは私のplot.hは再定義されたクラスを持っていると不平を言う。

この問題を解決するにはどうすればよいですか?ありがとう!

+0

名前を「Plot」に変更しましたか?そして、ツールボックスからウィジェットを配置し、そのウィジェットを宣伝することができます。 .proファイルにprintsuportを追加したことを確認してください – saeed

答えて

1

ツールボックスからウィジェットを配置し、プロモートを使用して、クラス構造が次のサンプルに似ていることを確認してください。

#ifndef PLOT_H 
#define PLOT_H 

#include <QObject> 

#include <qwt_plot.h> 

class Plot : public QwtPlot 
{ 
    Q_OBJECT 
public: 
    explicit Plot(QWidget *parent = nullptr); 

signals: 

public slots: 
}; 

#endif // PLOT_H 
関連する問題