Qwt中对于某个轴的缩放操作

     Qt中使用Qwt进行canvas的缩放操作是针对整个图形以及坐标轴的缩放操作,如果要进行只对某个轴和图形的缩放思路是关联

zoomer的信号zoomed(QRectF),然后执行槽函数(记录当前坐标轴起点与终点的信息,然后将这个信息设置坐标轴setAxisScale())。

     代码如下:

connect( zoomer, SIGNAL( zoomed( QRectF ) ),
             this, SLOT( select_axis_zoomer( QRectF ) ) );
 
  
 
  
void datadisplay::select_axis_zoomer( QRectF )
{
 
  
    const QwtScaleDiv xs = axisScaleDiv( QwtPlot::xBottom );
 
  
    const QwtScaleDiv ys = axisScaleDiv( QwtPlot::yLeft );
 
  
    setAxisScale( QwtPlot::xBottom,	 //固定x轴
                  xs.lowerBound(),
                  xs.upperBound() );
 
  
 
  
    setAxisScale( QwtPlot::yLeft,	//固定y轴
                  ys.lowerBound(),
                  ys.upperBound() );
 
  
    
 
  
    this->replot();
}

     上述式子中lowerBound与upperBound分别对应某个轴的最小刻度与最大刻度值

你可能感兴趣的:(Qt之Qwt)