これは私がウェブ上で見つけたコードへのリンクです(wxpythonにmatplotlibを埋め込んでいます): http://eli.thegreenplace.net/files/prog_code/wx_mpl_bars.py.txt
私の質問は、メニューバーが遅れて表示される理由を知っている人はいますか? そして、この遅延を取り除く方法はありますか?
ありがとう!
これは私がウェブ上で見つけたコードへのリンクです(wxpythonにmatplotlibを埋め込んでいます): http://eli.thegreenplace.net/files/prog_code/wx_mpl_bars.py.txt
私の質問は、メニューバーが遅れて表示される理由を知っている人はいますか? そして、この遅延を取り除く方法はありますか?
ありがとう!
self.draw_figure()
コードを読むと、問題はここの犯人である可能性があります。wx はフレームをレンダリングする必要がありますが、(wx を実行している) メインスレッドがクリアされるとすぐにそれを行うことができます。私の推測では、これself.draw_figure()
は計算量の多いメソッド呼び出しであり、メニューバーの描画をブロックしています。wx.CallAfter(self.draw_figure)
を使用して、スレッドを解放してみてください。他のすべてのレンダリングが完了すると、Figure が描画されます。
PS: wx 2.8 がインストールされていない (matplotlib に必要) ため、これが完全に有効かどうかを確認できません。