「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Tkinter は重みをどのように使用してレイアウト内のスペース配分を管理しますか?

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

2024 年 11 月 4 日に公開
ブラウズ:508

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

Tkinter での重みによる展開

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

デフォルトのウェイト

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

重みの追加

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

コード例

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

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()

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

重みを使用して拡張する

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

root.grid_columnconfigure(0, weight=1)

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

複数の要素の重み付け

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

root.grid_columnconfigure(0, weight=1)
root.grid_columnconfigure(1, weight=3)

これにより、列 0 が列 1 の幅の 4 分の 1 になるレイアウトが作成されます。

結論

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

リリースステートメント この記事は次の場所に転載されています: 1729736749 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3