QtChart-为什么QLogValueAxis范围没有变化?

时间:2018-07-18 17:04:44

标签: python qt pyqt pyqt5 qtchart

我有一个通过以下方式创建的图形:

# (self is a child class of a QWidget that this code snippet belongs to)
self.chart = QChart()

self.axisx_type = "linear"
self.axisx = QValueAxis()
self.axisx.setTickCount(Config.axisx_ticks)
self.chart.setAxisX(self.axisx)

self.axisy_type = "log"
self.axisy = QLogValueAxis()
self.axisy.setBase(10.0)
self.axisy.setLabelFormat(Config.axisy_log_label_format)
self.chart.setAxisY(self.axisy)

但是,在运行时,缩放时y轴不变。它似乎与以下事实有关:它是QLogValueAxis。右键单击以缩小时,x轴将缩小,而y轴(对数缩放轴)将缩小。奇怪的是,当使用QChartView橡皮筋功能进行缩放时,它确实会放大,但是y轴上的标签不会改变,即使它显示的范围清楚。

我还有其他代码可以让我在运行时换出y轴。如果我换成线性(QValueAxis)轴,则缩放在y轴上就可以了。

我已经重写了右键单击事件并调用Chart :: zoomOut函数,但这不适用于对数刻度。

我还尝试过手动进行缩放计算,并直接设置x和y轴的范围,但这仅适用于x轴。

这可能是Qt中的错误吗?我希望不是,因为这将是我上周遇到的第二个问题。

0 个答案:

没有答案