ホームページ >バックエンド開発 >Python チュートリアル >Tkinter は重みをどのように使用してレイアウト内のスペース配分を管理しますか?

Tkinter は重みをどのように使用してレイアウト内のスペース配分を管理しますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-25 18:34:04635ブラウズ

How Does Tkinter Use Weights to Manage Space Distribution in a Layout?

Tkinter での重みによる展開

Tkinter では、重みの概念により、レイアウト内の利用可能なスペースが列と行にどのように配分されるかを制御します。 。各行または列には、追加の余地がある場合にどれだけ拡張するかを決定するウェイト グリッド オプションがあります。

デフォルトのウェイト

デフォルトでは、すべての行と列に重みが 0 で、スペースを埋めるまで拡張しないことを示します。これは、余分なスペースは未使用のままになることを意味します。

重みの追加

余分なスペースがある場合、ゼロ以外の重みを指定すると、行または列が拡大されます。重みの値によって、他の重み付けされた要素と比較してどの程度拡張する必要があるかが決まります。たとえば、重み 1 は重み 0.5 の 2 倍のスペースを割り当てます。

コード例

次のコードを考えてみましょう:

<code class="python">import tkinter as tk

root = tk.Tk()
root.geometry("200x100")

f1 = tk.Frame(root, background="bisque", width=10, height=100)
f2 = tk.Frame(root, background="pink", width=10, height=100)

f1.grid(row=0, column=0, sticky="nsew")
f2.grid(row=0, column=1, sticky="nsew")

root.grid_columnconfigure(0, weight=0) # no extra space for column 0
root.grid_columnconfigure(1, weight=0) # no extra space for column 1

root.mainloop()</code>

このコードは、含まれているフレームよりも大きなウィンドウを作成します。どの列にも重みがないため、余分なスペースは未使用のままになります。

重みを使用して拡張する

列または行に重みを追加すると、追加の領域に拡張できます。空間。たとえば、次のコードは列 0 に 1 の重みを与えます:

<code class="python">root.grid_columnconfigure(0, weight=1)</code>

これで、追加のスペースが列 0 に割り当てられ、幅が広くなります。

重み付け複数要素

複数の列または行に重みがある場合、重みに比例して使用可能なスペースを共有します。たとえば、スペースの 1/4 を列 0 に割り当て、3/4 を列 1 に割り当てるには、次の重みを使用できます:

<code class="python">root.grid_columnconfigure(0, weight=1)
root.grid_columnconfigure(1, weight=3)</code>

この結果、列 0 が 4 分の 1 になるレイアウトになります。列 1 の幅。

結論

Tkinter の重みは、レイアウト内のスペースの配分を制御する方法を提供します。列または行に重みを割り当てることで、利用可能なスペースをどのように利用するかを決定でき、柔軟で応答性の高いレイアウトが可能になります。

以上がTkinter は重みをどのように使用してレイアウト内のスペース配分を管理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。