【发布时间】:2018-10-23 15:58:46
【问题描述】:
如果我只导入matplotlib库,我可以用这个语句来达到我的期望。但现在 matplotlib 嵌入在 wxpython 中。不仅可以导入matplotlib,还可以
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar
显然这个方法(get_tk_widget().update())返回用于实现 FigureCanvasTkAgg 的 Tk 小部件。但我在 wxpython 中使用框架。所以我想知道对 wxpython 达到相同效果的函数。
我所失望的是通过按钮或鼠标单击使程序暂停。一般解决方案如下:
import matplotlib
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt
plt.ion()
pause=False
def onClick(event):
global pause
pause =not pause
fig.canvas.mpl_connect('button_press_event', onClick)
while True:
if not pause:
...doing codes...
fig.canvas.get_tk_widget().update()
但是,我的 fig 是 'FigureCanvasWxAgg' 对象,并且没有属性 'get_tk_widget'。所以我正在寻找 wxpython 中的另一个函数。
【问题讨论】:
-
什么是“相同效果”?
update()在你需要的 TK 中做了什么? -
返回用于实现FigureCanvasTkAgg的Tk小部件,并更新画布
标签: python matplotlib widget wxpython