次のコードで生成された図の設定に問題があります。メインウィンドウを閉じても閉じません。メインウィンドウで使用self.setAttribute(Qt.WA_DeleteonClose)
しました。メインウィンドウオブジェクトは、関数の呼び出し中に親として渡されsmd
ます。キャンバスの親を明示的に設定しましたが、メインウィンドウを閉じても生成されたFigureは閉じられません。
def smd(self,parent):
from pylab import *
import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
from matplotlib.figure import Figure
import pylab as p
sm = [1,2,3]
fig = p.figure()
ax = fig.add_subplot(111)
ax.bar(range(len(sm)),sm,align='center')
ax.set_xticks(range(len(sm)))
canvas = FigureCanvas(fig)
canvas.setParent(parent)
#p.setParent(self)
canvas.draw()
fig.setParent(parent)
print "parent is ", parent, canvas.parent()
p.show()