0

使用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()第一次绘制图表时如何申请?

4

1 回答 1

0

似乎不需要显式调用drawor processEvents。相反,我只需要调用canvas.updateGeometry().

于 2013-09-09T16:40:59.267 回答