【发布时间】:2013-09-11 18:22:48
【问题描述】:
使用PyQt4 和matplotlib 我已经连接了一个按钮单击以执行一些计算并呈现一个图形。 tight_layout() 仅在第二次单击该按钮后生效。
当我完成坐标轴设置并将数据放在图表上后,我会调用
fig.tight_layout()
fig.canvas.draw()
我试图假装第二次按下按钮但没有成功:
from PyQt4 import QtGui
QtGui.QApplication.processEvents()
fig.tight_layout()
fig.canvas.draw()
QtGui.QApplication.processEvents()
fig.tight_layout()
fig.canvas.draw()
我的想法是 Qt 表面没有被识别为脏,但是调整窗口大小会重新绘制具有相同松散布局的图表。当我清除轴并重新填充图表时,紧凑的布局确实适用。
如何让tight_layout() 在第一次绘制图表时应用?
【问题讨论】:
-
附带说明,不要将嵌入与
pyplot混合使用(我无法从这段代码中判断你是否是,但这可能会搞砸你) -
是的,似乎如果
pyplot完全被导入,绘图会出现在错误的数字上。不过,导致此问题的代码没有对pyplot的任何引用。
标签: python qt matplotlib pyqt pyqt4