C++ QwtPlot在自动缩放期间自动调整大小
我使用libqwt-6.1.1在QwtPlot元素中显示变量数据(作为直方图),使用y轴的自动缩放。根据实际数据和tic的数量,自动缩放运行认为合理,整个QwtPlot元素的最小高度通常会增加。这破坏了我的整个布局设计,经常使窗口比屏幕大 现在有两个问题: 1) 如何防止QwtPlot自动放大C++ QwtPlot在自动缩放期间自动调整大小,c++,qwt,C++,Qwt,我使用libqwt-6.1.1在QwtPlot元素中显示变量数据(作为直方图),使用y轴的自动缩放。根据实际数据和tic的数量,自动缩放运行认为合理,整个QwtPlot元素的最小高度通常会增加。这破坏了我的整个布局设计,经常使窗口比屏幕大 现在有两个问题: 1) 如何防止QwtPlot自动放大 2) 最小尺寸计算实际上是如何工作的?(我在QwtPlotLayout::ACTIVE()中的某个地方迷路了,当时我正在尝试执行计算步骤。)影响高度并取决于自动缩放的因素是垂直缩放的主刻度数(滴答数*字体
2) 最小尺寸计算实际上是如何工作的?(我在QwtPlotLayout::ACTIVE()中的某个地方迷路了,当时我正在尝试执行计算步骤。)影响高度并取决于自动缩放的因素是垂直缩放的主刻度数(滴答数*字体高度) 刻度的计算取决于给定的步长。当步长设置为0(=默认设置)时,将根据maxMajor设置(默认值:8)计算,主刻度数的上限是多少
因此,f.e.您可以将步长设置为0,并为您的用例设置合理的maxMajor设置。然后使用QLayout设置,在该设置中,绘图并不总是缩小到其最小高度 最后,解决方案比预期的简单 重载
QwtPlot::sizeHint()
和QwtPlot::minimumSizeHint()
(幸运的是,它们是虚拟的)使两者都返回一个小的常量值,这样做就达到了目的,即
QSize myPlot::sizeHint()const{return QSize(100100);}
QSize myPlot::minimumSizeHint()const{return QSize(100,100);}
谢谢你的建议,它实际上并没有解决问题,但将我的研究带回了正确的方向(见下面的解决方案)。