2011-06-19 16 views
3

wxpythonツールキットを使用してPythonでGUIを使用して小さなアプリケーションを作成しました。これは、トップウィンドウとしてのフレームと100個のStaticTextチャイルドウィジェットで構成されています。私は、サイズのイベント(wx.EVT_SIZE)OnResize関数にバインドしました。この関数は、StaticTextウィジェットのサイズに応じてフォントを変更します。 (これは私が実行時に応じて、私のフレームウィンドウのサイズを変更すると、ウィジェットのフォントのサイズを増減するのに役立ちます。)サイズ変更中にwxpythonウィジェットのサイズ変更イベントが複数回呼び出される

今poblemはOnResize機能が、私は私のフレームのサイズを変更4 timesするたびに呼び出されるということです。これはかなり私のアプリの起動(およびサイズ変更)をかなり遅くします。私が欲しいのは、OnResize関数は一度だけ呼び出さなければならないということです。

これはどのような方法でも可能ですか?

答えて

4

代替アプローチを検討してください。

以前に処理されたサイズの変数を保持します。次に、サイズハンドラでは、最後のサイズイベント以降にウィジェットのサイズが実際に変更された場合にのみフォントサイズを変更します。

+0

本当に良いアイデアです。ありがとう! –

+0

私は2行目が - > w、h = size = event.GetSize()であるべきだと思います。 –

+0

@Guanidene:いずれも動作します。 – FogleBird

関連する問題