Matplotlib + Qt:tight_layout()在第一次绘制时不起作用

时间:2013-09-07 22:01:17

标签: python qt matplotlib pyqt pyqt4

使用PyQt4matplotlib我已连接按钮单击以执行某些计算并呈现图形。 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()应用?

1 个答案:

答案 0 :(得分:0)

似乎没有必要明确调用drawprocessEvents。相反,我只需要拨打canvas.updateGeometry()