Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Berat Berfungsi dalam Geometri Grid Tkinter?

Bagaimanakah Berat Berfungsi dalam Geometri Grid Tkinter?

Barbara Streisand
Barbara Streisandasal
2024-10-24 11:35:02886semak imbas

How Does Weight Function in Tkinter's Grid Geometry?

Apakah Fungsi Berat Berprestasi dalam Tkinter?

Tkinter menyediakan pengurus geometri grid yang komprehensif untuk mengatur widget dalam tetingkap. Satu atribut penting grid ialah pilihan "berat", yang mengawal cara lajur dan baris berkembang apabila terdapat lebihan ruang dalam bekas.

Secara lalai, setiap sel grid mempunyai berat 0, menunjukkan bahawa ia sepatutnya tidak membesar melebihi saiz asalnya. Walau bagaimanapun, memberikan pemberat bukan sifar pada baris atau lajur mencetuskan pengembangannya jika ruang tambahan tersedia.

Demonstrasi Berat dalam Tindakan

Pertimbangkan kod berikut:

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)
root.grid_columnconfigure(1, weight=0)

root.mainloop()

Kod ini mencipta tetingkap dengan dua bingkai, f1 dan f2, diletakkan bersebelahan. Memandangkan tiada pemberat dikenakan pada lajur, sebarang ruang yang tersedia kekal tidak digunakan.

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=1)

root.mainloop()

Menambah berat 1 pada lajur pertama memastikan bahawa apabila tetingkap dibesarkan, ruang tambahan akan diagihkan kepada lajur pertama lajur.

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=1)
root.grid_columnconfigure(1, weight=3)

root.mainloop()

Menetapkan pemberat yang berbeza pada lajur membolehkan pengagihan berkadar ruang berlebihan. Dalam contoh ini, lajur kedua mempunyai tiga kali berat yang pertama, menghasilkan nisbah 1:3.

Kuasa berat terletak pada tindak balas dinamiknya terhadap saiz semula tetingkap. Apabila tetingkap mengembang, widget menyesuaikan diri dengan ruang yang tersedia sambil mengekalkan perkadaran relatifnya. Fleksibiliti ini penting untuk mencipta antara muka pengguna grafik yang responsif dan boleh disesuaikan.

Atas ialah kandungan terperinci Bagaimanakah Berat Berfungsi dalam Geometri Grid Tkinter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn