问题描述
我下面构造了一个GUI作为对象。当用户单击图中的任意位置时,将执行回调。 (稍后,我将这样做,以便仅在用户单击特定区域时才执行回调。)我想更新显示内容,说“请稍候...” 之前 ,这需要几秒钟才能执行。下面,我只放入sleep(2)
来模拟这一点。
运行下面的代码时,即使首先调用了文本更新,我也会调用sleep(2)
,在显示文本“ Please wait ...”之前执行回调的plt.draw()
。之后,请确保先绘制。为什么在执行sleep(2)
之后什么也没画?
import matplotlib.pyplot as plt
from time import sleep
class TimeDemo():
def __init__(self):
self.fig,self.ax = plt.subplots()
self.ax.axis("off")
self.axtext = self.ax.annotate("Please click somewhere.",xy=(0,0.5),ha="left",va="center")
self.donecid = self.fig.canvas.mpl_connect("button_press_event",self.donecallback)
def sleeper(self):
sleep(2)
plt.draw()
def donecallback(self,event):
self.fig.canvas.mpl_disconnect(self.donecid)
self.axtext.remove()
self.axtext = self.ax.annotate("Please wait...",va="center")
plt.draw()
self.sleeper()
mydemo = TimeDemo()
plt.show()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)