2013-03-13 33 views
5

Trong các phiên bản trước của Qwt chúng tôi thêm QwtPlot::clear() nhưng bây giờ, tôi không thể tìm thấy nó.Làm thế nào để xóa các đường cong QwtPlot trước khi thay thế?

Bất kỳ ý tưởng nào? Tôi có một cốt truyện thời gian thực, vì vậy khi replotting, thông tin trước khi xmin không thực sự quan trọng và với thời gian nó bị treo khi replot được thay thế tất cả các thông tin trước xmin.

Trả lời

5

Phương thức Qwtplot::clear() không được dùng nữa. Sử dụng QwtPlotDict::detachItems để thay thế.

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

Tham số:

rtti: Trong trường hợp QwtPlotItem :: Rtti_PlotItem tách tất cả các mục khác chỉ những mặt hàng của các loại rtti. AutoDelete: Nếu đúng, xóa tất cả các mục tách

+0

tốt, tôi đã sử dụng này 'for (int i = 0; i <8; i ++) { plot_all [i] -> detachItems (QwtPlotItem :: Rtti_PlotItem, true); cốt truyện [i] -> detachItems (QwtPlotItem :: Rtti_PlotItem, true); } 'và nó đã không tách' QwtCurves' – SamuelNLP

+1

điều gì xảy ra khi bạn gọi hàm không có đối số? Giống như plot_all [i] -> detachItems(); – bruno

+0

xin lỗi, nó thực sự hoạt động. lỗi của tôi. Cảm ơn bạn đã dành thời gian. – SamuelNLP

1

một trong những cách để xóa cốt truyện là để thiết lập của bạn điểm dữ liệu để trống: ví dụ: (m_vctTime, m_vctValue -vector) (đường cong = mới QwtPlotCurve()) (cốt truyện = new QwtPlot (mẹ))

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

mà xóa cốt truyện của bạn

Các vấn đề liên quan