要するに:
WidgetClass で QCustomPlot 変数にアクセスする必要があります。しかし、そのコンテキストではプライベートであるため、できません。これはどのように達成されますか?
私がやった事:
グラフを作成するクラスとグラフ クラスを呼び出すウィジェット クラスがあります。私の QCustomPlot 変数は、グラフ クラスで宣言されているプライベート変数ですが、ウィジェット クラスでこの変数にアクセスする必要があります。
データを取得してデータをグラフ クラスに渡す generate_graphs スロットがあり、そこからグラフが作成されます。私はpngに保存しているので、このデータでグラフ変数にアクセスする必要があります。変数は、グラフを生成するグラフクラスを呼び出すWidgetClassのデータに渡されます。
グラフ クラス変数 (Widget クラス内) は次のように宣言されGraphWidget* graph
ています: そのスロットの QCustomPlot 変数に次のようにアクセスしようとしています: 次のようなgraph->QCustomPlot->savePNG()
エラーが表示され続けます。QCustomPlot* GraphWidget::QCustomPlot is private within this context
次に、を返すだけの関数を作成してGraphWidget* graph
、グラフ クラスでその変数にアクセスできるようにしました。代わりに、そのコンテキストでプライベートにならずに QCustomPlot 変数にアクセスできました。GraphWidget* graph
GraphWidget クラスで宣言されていない を渡す必要があるため、これによりエラーが発生しました。