2012-02-10 34 views
1

wxpythonを使用してテーブルを作成するためにwx.gridを使用する場合、ユーザーがフレームのサイズを変更した後、テーブルの行と列の数を自動的に拡張する方法はありますか?wxのテーブルの自動サイズ変更

フレームに収まるように5 * 5の表(グリッド)を作成し、ユーザーがフレームのサイズを変更した場合(たとえば、大きくするなど)、応答する行数および/または列数を自動的に増やす方法フレームサイズの増加?

+0

あなたが望む効果のためにグリッド自体のクリッピングを使うことはできませんか?サイザーのレイアウトモデルでは、グリッドを領域に合わせてトリミングすることができます。単純にすべての行/列を追加して、ウィンドウのサイズが表示されている領域を制限できるようにします。 – BRFennPocock

+0

あなたが間違って理解していれば申し訳ありません..あなたは1000 * 1000のテーブルをセットアップし、 20 * 20のように表示し、ユーザーがテーブルのサイズを大きくすると、もっと見ることになりますか?それがあなたが言っているものなら、実際に必要なものより多くの記憶を取っていませんか? –

+1

本質的に、はい。それは、あなたが 'wxGrid'でやっていることに完全に依存しますが。意図的にスクロール/ページングを自分で処理しているなら、それは問題ありませんが、wxWidgetsはグリッドをフルサイズで作成し、サイザーやその他のウィジェットを使ってクリッピングやスクロールを処理するように設計されています。 @Mike Driscollが示しているように、あなたは「それらの車輪を再発明する」フックを持っていますが、それはフレームワークが一般的に使われるように設計されたものではありません。 – BRFennPocock

答えて

1

悲しいことに、私が気づいていることを行うための組み込み方法はありません。フレームのEVT_SIZEをキャッチし、必要に応じてAppendRowsとAppendColsをグリッドで使用する必要があります。どのくらいのフレームサイズが変更されたかを考慮する必要があります。

関連する問題