0

私はグリッドマネージャーを使用しており、2 つのフレームが並んでおり、2 行目の 2 つのフレームの下にボタンが 1 つずつ、等間隔に配置された 5 つの列があります。ウィンドウを拡大すると比例してスケーリングするようにするため、すべて「スティッキー」NSEWを使用します。

テキスト入力ウィジェットを右側のフレームに追加すると、その下のボタンがゆがみ、左側のボタンよりも大きくなります。この歪みを防ぐ方法、または別の言い方をすれば、各列を同じサイズに保つ方法がわかりません。

テキスト入力ウィジェットがそれぞれ行/列/重み付けされていない理由はありますか? 前もって感謝します!

4

3 に答える 3

0

columnspanまたはを使用してみることができますrowspan。これにより、ボタンがテキスト ウィジェットの影響を受けないようにする必要があります。

例えば:

root=Tk()
button1=Button(root,text="button1")
button1.grid(row=1,column=0)
textbox=Text(root)
textbox.grid(row=1,column=1,rowspan=2)
于 2012-07-13T06:02:23.773 に答える
0

これは、エントリ ウィジェットに特定の幅を指定した (またはデフォルトを受け入れている) ためだと思います。ウィジェットは特定のサイズにする必要があるため、要求された子のサイズに合わせて列が大きくなります。

1 つの解決策は、エントリ ウィジェットのサイズを 1 に設定することです。次に、E と W のスティッキー設定により、列にぴったり合うように拡張されます。

于 2012-07-13T15:19:35.273 に答える
0

各フレームで、「propagate」ステータスを false に設定する必要があります。これにより、フレームのサイズが内部の内容に基づいて変更されなくなります。したがって、フレームがgrid()セットgrid_propagate(False)などを使用している場合。

于 2012-07-13T12:17:17.590 に答える