简而言之:
我需要访问WidgetClass中的QCustomPlot变量。但我无法理解,因为在这种情况下它是私人的。这是如何完成的?
我做了什么:
我有一个创建图形的类和调用图形类的窗口小部件类 我的QCustomPlot变量是在图类中声明的私有变量,但我需要在Widget类中访问此变量。
我有一个generate_graphs插槽,可以获取数据并将数据传递给图形类,然后从中创建图形。我保存到png,所以我需要使用这些数据访问图形变量,该变量在WidgetClass中传递数据,然后调用图形类,生成图形。
图形类变量(在Widget类中)声明如下:GraphWidget* graph
我尝试访问该插槽中的QCustomPlot变量,如下所示:graph->QCustomPlot->savePNG()
我一直收到QCustomPlot* GraphWidget::QCustomPlot is private within this context
然后我创建了一个函数来返回GraphWidget* graph
,这样我就可以在图类中访问该变量了。相反,我可以访问QCustomPlot变量,而不是在该上下文中是私有的。这会导致错误,因为它需要传递一个未在GraphWidget类中声明的GraphWidget* graph
。
答案 0 :(得分:0)
这是一个孤立的问题,但如果其他人有类似的问题我的建议是:
确保您尝试使用它的整个类可以访问GraphWidget变量(创建QCustomPlot
的变量)。我试图通过一系列不同的方式,但没有一个是正确的。
还要确保在GraphWidget类中创建 public 函数,以便访问QCustomPlot
使用的savePng()函数。