我最近在将pyqt从PyQt4更新到PyQt5后开始使用PyQt5,并注意到pyqtgraph生成的所有绘图的轴位置存在持续错误(参见附图)。 x轴不会延伸到窗口底部,y轴不会连接到左下角的x轴。此外,在大x值或小y值的轴标签上无法准确表示迹线。
下图是通过运行:
生成的import pyqtgraph as pg
pg.plot([0,1,2,3,4,5,6,7,8,9],[1,2,4,5,7,8,10,11,13,14])
我在Windows 10计算机上使用anaconda创建了一个新的python环境来测试这个问题。 conda list qt 的输出是:
pyqt 5.6.0 py35_2
pyqtgraph 0.10.0 py35_0
qt 5.6.2 vc14_5 [vc14]
我尝试使用不同版本的Python(3.5.3和3.6)并删除并重新安装所有anaconda发行版但未成功。我真的很感激这个问题的任何帮助。提前谢谢。
编辑1:我应该提到我在外部显示器上运行此程序。我刚刚发现,如果我将绘图窗口拖到我的小型笔记本电脑显示器上,那么轴会卡入正确的位置。我还没有发现如何在外部显示器上正确显示图表,但我怀疑它可能与QT DPI缩放环境变量有关。
答案 0 :(得分:1)
我找到了两个可能解决这个问题的方法:
1)在Qt GUI事件循环开始设置DPI后,可以添加以下行app.setAttribute(QtCore.Qt.AA_Use96Dpi)
2)外部显示器的Windows设置显示缩放参数必须与主显示器的显示缩放值相匹配(在我的情况下是笔记本电脑显示器)。