Rozdział 16 · Tworzenie fajnych aplikacji z Tkinter
Wiersze i kolumny są grid
Dla formularzy wielokolumnowych grid() jest wygodniejsze niż pack().
.pack() jest świetna na proste okazje, ale tak jest
Istnieje pewna granica: złożone kształty z wieloma kolumnami są trudne do złożenia. Dla tego istnieje
.grid() — rozmieszczenie według łańcuch znakówm i kolumn, jak w tabeli:
grid.py
import tkinter as tk
root = tk.Tk()
tk.Label(root, text=„Imię:”).grid(row=0, column=0)
tk.Entry(root).grid(row=0, column=1)
tk.Label(root, text="Email:").grid(row=1, column=0)
tk.Entry(root).grid(row=1, column=1)
tk.Button(root, text=„Wyślij”).grid(row=2, column=0, columnspan=2)
root.mainloop()
| Pozycja | 0 | 1 |
|---|---|---|
| row=0 | Label «Imię:» | Entry |
| row=1 | Label «Email:» | Entry |
| row=2 | Button (columnspan=2 — zajmuje obie kolumny) |
Nie mieszaj pack() i grid() w jednym kontenerze
Widżety w tym samym oknie nadrzędnym (lub ramce) muszą korzystać wyłącznie z jednego z tych elementów
pack()lub tylko grid() — mieszanie powoduje błąd. Różne kontenery (np. zagnieżdżone Frame, rozdział 16.13) mogą używać różnych sposobów rozmieszczania niezależnie od siebie — szczegółowy schemat „dobrze/źle” będzie w rozdziale 16.15.Jak sprawić, by taki formularz był responsywny na zmiany rozmiaru okien, znajduje się w sekcji 16.15 „Adaptacyjne grid”
Praktyka: Układ przez grid()
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie