QT中多个qwtplot对齐的简单方法
1、设置两个qwtplot的大小位置,颜色等:
qwtPlot1 = new QwtPlot(this);
qwtPlot1->setGeometry(0,20,500,130);
qwtPlot1->setStyleSheet("color:yellow");
qwtPlot2 = new QwtPlot(this);
qwtPlot2->setGeometry(0,170,500,130);
qwtPlot2->setStyleSheet("color:cyan");
2、设置两个qwtplot的坐标轴刻度最大值,最下值,间隔等
qwtPlot1->setAxisScale(QwtPlot::yLeft,-10,30,10);
qwtPlot1->setAxisScale(QwtPlot::xBottom,0,10,2);
qwtPlot1->setAxisMaxMinor(QwtPlot::yLeft,0);
qwtPlot1->setAxisMaxMinor(QwtPlot::xBottom,2);
qwtPlot2->setAxisScale(QwtPlot::yLeft,-1200,60,300);
qwtPlot2->setAxisScale(QwtPlot::xBottom,0,10,2);
qwtPlot2->setAxisMaxMinor(QwtPlot::yLeft,0);
qwtPlot2->setAxisMaxMinor(QwtPlot::xBottom,2);
3、根据两个qwtplot的Y轴刻度的最大位数和字体的大小设置左侧的Margin值。
例如qwtPlot1最大位数是两位,qwtPlot2最大位数是四位,若字体大小选择12Px,则设置qwtPlot1的左侧空白值为16。qwtPlot2的左侧空白值为0。
具体设置多少需要根据实验得出。
qwtPlot1->setContentsMargins(16,0,0,0); //上面的曲线
qwtPlot2->setContentsMargins(0,0,0,0); //下面的曲线
设置Margin 后的波形图如下: