Qt中使用replot()重新設置x、y軸范圍


今天想給自己的Qt程序添加一個新功能:點擊按鈕重新設置X和Y軸的范圍
因為自己將ploter設置了interactions,可以用鼠標拖來拖去,還可以放大縮小。但是這樣改變了我本來的繪圖布局。所以我創建了一個按鈕,點擊的動作連接到resetPloterSlot()槽上。
剛開始我的槽函數編寫如下:

void RealTimeWindow::resetPloterSlot()
{
    ploter->xAxis->setRange(0, 12000);
    ploter->yAxis->setRange(0, 300);
}

然而單純的setRange()僅僅只是將橫縱坐標的范圍設置,需要再調用一下replot()函數重新繪制ploter.正確的槽函數代碼如下

void RealTimeWindow::resetPloterSlot()
{
    qDebug() << "resetPloterSlot is called";
    ploter->xAxis->setRange(0, 12000);
    ploter->yAxis->setRange(0, 300);
    ploter->replot();
}

再重新debug 程序就能正確運行功能。
事實上,對於ploter的更改,包括添加數據,如果不起作用就可以調用replot()函數試試效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM