简而言之::
我需要访问WidgetClass中的一个WidgetClass变量。但我不能因为这件事是私密的。这是如何完成的?
我所做的:
我有一个创建图的类和一个小部件类,它调用图形类--我的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* graph,这个GraphWidget类中没有声明它。
发布于 2014-11-19 14:54:23
这是一个孤立的问题,但如果其他人也有类似的问题,我的建议是:
确保您的GraphWidget变量(创建QCustomPlot的变量)能够被试图使用它的整个类访问。我试图通过很多不同的方法,但没有一个是正确的。
还要确保在类中创建一个GraphWidget公共函数,以便访问QCustomPlot使用的savePng()函数。
https://stackoverflow.com/questions/26997408
复制相似问题