C++ 如何在QwtPlot上设置固定数量的刻度

C++ 如何在QwtPlot上设置固定数量的刻度,c++,qt,qwt,C++,Qt,Qwt,我在QwtPlot滴答声方面遇到了一些问题 我的QwtPlot的X轴如下: 我正在将AxisMaxMajor设置为24: dataPlot->setAxisMaxMajor(QwtPlot::xBottom, 24); 但这并不能解决我的问题 我需要正好23个刻度(1~23)来表示一天中的每一个小时。我该怎么做 Qwt 6.1.0 Qt 5.3.2当需要与日期/时间相关的刻度时,您需要使用QwtDateScaleEngine。如果使用1-24中的某个值,则基于十进制的缩放引擎将不会出现

我在
QwtPlot
滴答声方面遇到了一些问题

我的
QwtPlot
的X轴如下:

我正在将AxisMaxMajor设置为24:

dataPlot->setAxisMaxMajor(QwtPlot::xBottom, 24);
但这并不能解决我的问题

我需要正好23个刻度(1~23)来表示一天中的每一个小时。我该怎么做

Qwt 6.1.0


Qt 5.3.2

当需要与日期/时间相关的刻度时,您需要使用
QwtDateScaleEngine
。如果使用1-24中的某个值,则基于十进制的缩放引擎将不会出现

如果
QwtDateScale
类不适合您的用例,您可以选择手动设置刻度(
QwtPlot::setaxiscalediv()


如果您无法控制轴范围(例如,由于缩放),最终的回退解决方案是实现您自己类型的
QwtScaleEngine
。这听起来很简单,因为它只意味着在给定范围内每小时返回一个刻度。

谢谢@Uwe。我无法控制轴范围(因为缩放),那么我想我需要实现我自己类型的
QwtScaleEngine
。你能举一个简单的例子说明我该怎么做吗?