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 のウェイトは、レイアウト内のスペースの配分を制御する方法を提供します。列または行に重みを割り当てることで、利用可能なスペースをどのように利用するかを決定でき、柔軟で応答性の高いレイアウトが可能になります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3