2013-03-13 123 views
5

Qwt的早期版本中,我們添加QwtPlot::clear(),但現在我找不到它。如何在重新繪圖之前清除QwtPlot曲線?

任何想法?我有一個實時的情節,所以在重新繪圖時,xmin之前的信息並不是非常重要,隨着時間的推移,重繪圖會在xmin之前重新繪製所有信息。

回答

5

方法Qwtplot::clear()已被棄用。改爲使用QwtPlotDict::detachItems

void QwtPlotDict::detachItems(int rtti = QwtPlotItem::Rtti_PlotItem, 
           bool autoDelete = true 
          ) 

參數:

RTTI:在QwtPlotItem :: Rtti_PlotItem的情況下拆卸所有項目否則只有類型RTTI的那些項目。 自動刪除:如果爲true,刪除所有分離項目

+0

好,我使用的)這個'的for(int i = 0; I <8;我++) { plot_all [i] - > detachItems(QwtPlotItem :: Rtti_PlotItem,true); plot [i] - > detachItems(QwtPlotItem :: Rtti_PlotItem,true); }並且它沒有分離'QwtCurves' – SamuelNLP 2013-03-13 14:16:24

+1

當你調用沒有參數的函數時會發生什麼?像plot_all [i] - > detachItems(); – bruno 2013-03-13 14:24:08

+0

對不起,它確實有效。我的錯。感謝您的時間。 – SamuelNLP 2013-03-13 14:32:30

1

的清除情節的方法之一是設置數據點清空: 例如: (m_vctTime,m_vctValue維矢量) (曲線=新QwtPlotCurve()) (曲線=新QwtPlot(父)

m_vctTime.clear(); 
m_vctValue.clear(); 
curve->setSamples(m_vctTime,m_vctValue); 
plot->replot();  

在清零您的情節