刷新wxPython窗口时遇到问题。它目前正在使用wxmpl绘制一个图形,可以缩放、平移等。有时用户可能会绘制大量数据并放大一小部分,这可能会导致它“冻结”。我的意思是绘图本身没有更新,轴的标签被画在彼此的顶部。它正在修改绘图,只是没有正确显示更新的信息。如果调整窗口大小,则会正确地重新绘制绘图。在
我花了大量的时间来研究wx、wxmpl和matplotlib的源代码和文档。。。我想出的最好的解决方案是调整窗口大小以强制重新绘制(从而正确显示更新后的绘图)。在# All of these fail - displays the same, incorrect plot
# (view is a wxmpl.PlotPanel object, which inherits from wx.Window among other things)
view.Refresh()
view.Update()
view.draw()
# This works, but is clearly less than ideal
view.SetSize((view.GetSize().width, view.GetSize().height+1))
view.SetSize((view.GetSize().width, view.GetSize().height-1))
一定有更好的方法-我真正想知道的是wx.Window.SetSize尺寸来重新绘制窗口,然后调用它。或者,有没有别的方法我错过了?在