2016-12-13 7 views
0

私はユーザーが選択する2つのポイント間の線をプロットするGUIを開発しています。そして、すべての点を結んでいるすべての線のバックグラウンドプロットがあります(wx.EVT_PAINTとバインドされているので、サイズ変更時に消えません)wxpythonを使ってプロットをスケールする方法は?

しかし、サイズを変更すると、フレーム。プロットは常に同じサイズのままです。

私はフレームのサイズを変更するとプロットを比例的に拡大または縮小する方法を知っていますか?サイザーはここで働いていますか?助けてくれてありがとう!

This is the original size

This is what it looks like when I shrink it

+0

wxPointsを静的または動的に配置していますか? – macroland

答えて

0

答えは、あなたがあなたのポイントに使用する座標に依存します。プロットが常にウィンドウに収まるようにするには、座標空間[0, 1]x[0, 1]を使用し、GetClientSize().x.yをパラメータとしてwxDC::SetLogicalScale()を使用するのが最も簡単です。

wxEVT_SIZEハンドラでウィンドウを無効にする必要があることに注意してください。

+0

ありがとうございました!私はそれを考え出した! –

0

私の解決策よりもうまくいく、VZの答えに感謝します。

私はまず、それらの点の座標をすべての点の中で最大のxとyで割って正規化します。

次に 'print'関数では、GetSize()関数を使用して正規化座標を掛けました。

関連する問題