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!