如何在重新绘制之前清除 QwtPlot 曲线?
Posted
技术标签:
【中文标题】如何在重新绘制之前清除 QwtPlot 曲线?【英文标题】:How to clear QwtPlot curves before replotting? 【发布时间】:2013-03-13 12:36:43 【问题描述】:在Qwt
的早期版本中,我们添加了QwtPlot::clear()
,但现在我找不到了。
有什么想法吗?我有一个实时绘图,因此在重新绘图时,xmin 之前的信息并不重要,并且随着时间的推移它会崩溃,因为重新绘图正在重新绘制 xmin 之前的所有信息。
【问题讨论】:
【参考方案1】:Qwtplot::clear()
方法已被弃用。请改用QwtPlotDict::detachItems
。
void QwtPlotDict::detachItems(int rtti = QwtPlotItem::Rtti_PlotItem,
bool autoDelete = true
)
参数:
rtti:在 QwtPlotItem::Rtti_PlotItem 的情况下,分离所有项目,否则只有 rtti 类型的项目。 autoDelete:如果为 true,则删除所有分离的项目
【讨论】:
好吧,我用这个` for (int i = 0; i detachItems(QwtPlotItem::Rtti_PlotItem, true); plot[i]->detachItems(QwtPlotItem::Rtti_PlotItem, true);and it didn's detach the
QwtCurves`
调用不带参数的函数会发生什么?像 plot_all[i]->detachItems();【参考方案2】:
清除绘图的一种方法是将数据点设置为空: 例如: (m_vctTime,m_vctValue -向量) (曲线=新 QwtPlotCurve()) (plot=new QwtPlot(parent))
m_vctTime.clear();
m_vctValue.clear();
curve->setSamples(m_vctTime,m_vctValue);
plot->replot();
清除你的阴谋
【讨论】:
以上是关于如何在重新绘制之前清除 QwtPlot 曲线?的主要内容,如果未能解决你的问题,请参考以下文章