python wxpython backend wxagg_wxpython+matplotlib:关闭图形挂起python

这个python程序在wxpython窗口中绘制一个图形。它在热情的Python发行版7.3-2中运行得很好,但是当我关闭图时,Python继续运行并且不退出。在

我错过了什么?当我创建不使用matplotlib的wxpython gui时,它们在关闭窗口后会正确退出。我想wxpython中的消息循环肯定有我不明白的地方。在# adapted from:

# http://wiki.wxpython.org/Getting%20Started

# http://www.cs.colorado.edu/~kena/classes/5448/s11/presentations/pearse.pdf

import wx

import pylab as pl

import matplotlib

from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas

class GUIPanel(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent)

self.parent = parent

# create some sizers

sizer = wx.BoxSizer(wx.VERTICAL)

# A button

self.button =wx.Button(self, label="Tada!")

self.Bind(wx.EVT_BUTTON, self.OnClick,self.button)

# put up a figure

self.figure = pl.figure()

self.axes = self.drawplot(self.figure)

self.canvas = FigureCanvas(self, -1, self.figure)

sizer.Add(self.canvas, 0, wx.ALIGN_CENTER|wx.ALL)

sizer.Add(self.button, 0, wx.ALIGN_CENTER|wx.ALL)

self.SetSizerAndFit(sizer)

def log(self, fmt, *args):

print (fmt % args)

def OnClick(self,event):

self.log("button clicked, id#%d\n", event.GetId())

def drawplot(self, fig):

ax = fig.add_subplot(1,1,1)

t = pl.arange(0,1,0.001)

ax.plot(t,t*t)

ax.grid()

return ax

app = wx.App(False)

frame = wx.Frame(None)

panel = GUIPanel(frame)

frame.Fit()

frame.Center()

frame.Show()

app.MainLoop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值