Co to jest siatka tkintera?
Ogólnie rzecz biorąc, siatka jest ramą linii sieciowych, które krzyżują się i są do siebie równoległe, tworząc serię prostokątnych lub kwadratowych okien. Funkcja geometrii siatki dostarczona przez bibliotekę tkinter jest zgodna z tą samą definicją siatki.
Grid Geometry Manager jest jednym z najbardziej elastycznych, prostych i najłatwiejszych menedżerów geometrii dystrybuowanych przez Tkinter Library. Pozwala umieścić widżety w dwuwymiarowym stole. Układa rzędy i kolumny równoległe, aby uzyskać widżet kwadratowego lub prostokątnego kształtu. Na przykład, jeśli masz uchwyt o rozmiarze 2 × 2, będzie wyglądać tak:
Każde skrzyżowanie kolumn i wierszy jest znane jako „komórka”, która może pomieścić widżet. Numer indeksu (wiersz, kolumna) reprezentuje każdą komórkę w siatce. Tak więc siatka wielkości 2 × 2 będzie reprezentowana przez (0, 0), (0, 1), (1, 0) i (1, 1). Domyślnie pierwszy wiersz i pierwsza kolumna mają indeks zerowy, drugi wiersz i druga kolumna mają 1 indeks i tak dalej.
Indeksy siatki nie muszą być w sekwencji i mogą również mieć luki. Na przykład chcesz dodać różne widżety z siatką, aby Twoja siatka może wyglądać jak (1, 1), (2, 3), (5, 1), (7, 7), (9, 8) i (10, 10).
Teraz napiszmy niektóre kody, które pomogą nam użyć funkcji geometrii siatki w naszym programie Python. Pamiętaj, aby uruchomić te przykładowe programy, aby lepiej zrozumieć.
Przykład 1
W tym przypadku pokażemy ci siatkę 2 × 2. Zdefiniujemy etykietę dla każdej komórki jako (0, 0), (0, 1), (1, 0) i (1, 1), aby pokazać, w jaki sposób siatka je uporządkowała. Najpierw tworzymy moduł root TK (), aby uzyskać środowisko wyświetlania. Następnie użyjemy funkcji Label (), aby zdefiniować tekst dla każdej komórki w siatce. A następnie użyjemy funkcji Grid () do umieszczenia każdej etykiety () w komórce Grid (). Spójrz na kod podany poniżej:
Z Tkinter Import *
z tkintera.TTK Import *
r = tk ()
l1 = etykieta (r, text = "(0,0)")
l2 = etykieta (r, text = "(0,1)")
l3 = etykieta (r, text = "(1,0)")
l4 = etykieta (r, text = "(1,1)")
L1.siatka (wiersz = 0, kolumna = 0, pady = 2)
L2.siatka (wiersz = 0, kolumna = 1, pady = 2)
L3.siatka (wiersz = 1, kolumna = 0, pady = 2)
L4.siatka (wiersz = 1, kolumna = 1, pady = 2)
główna pętla()
Po uruchomieniu tego kodu pojawi się okno pop z siatką (0, 0), (0, 1), (1, 0) i (1, 1) etykiet. Oto wyjściowe okno pop:
Przykład 2
Utwórzmy widżet, który przyjmuje dane wejściowe od użytkownika. W tym przykładzie rozwinąmy poprzedni przykład i umieścimy widżet w stosunku do każdej kolumny, która przyjmie dane wejściowe od użytkownika. Patrz kod dołączony poniżej.
Jak rozszerzyliśmy na poprzedni przykład, właśnie dodaliśmy funkcję Entry (), aby dodać widżet wpisowy w siatce. Funkcja Entry () dostarczona przez bibliotekę Tkinter jest używana do uzyskania wejścia ciągu pojedynczego linii od użytkownika. Po funkcji Enter () właśnie zdefiniowaliśmy wartości Grid () dla komórek wejściowych. Po wykonaniu powyższego kodu otrzymasz okno POP zawierające 4 komórki wypełnione tekstem i 4 komórki za pomocą zakładki wpisowej. Na każdej karcie możesz wprowadzić ciąg jedną linię.
Z Tkinter Import *
z tkintera.TTK Import *
r = tk ()
l1 = etykieta (r, text = "pierwszy wpis")
l2 = etykieta (r, text = "drugi wpis")
l3 = etykieta (r, text = "trzeci wpis")
l4 = etykieta (r, text = "czwarty wpis")
L1.siatka (wiersz = 0, kolumna = 0, pady = 2)
L2.siatka (wiersz = 2, kolumna = 0, pady = 2)
L3.siatka (wiersz = 0, kolumna = 1, pady = 2)
L4.siatka (wiersz = 2, kolumna = 1, pady = 2)
e1 = wpis (r)
e2 = wpis (r)
e3 = wpis (r)
e4 = wpis (r)
E1.siatka (wiersz = 1, kolumna = 0, pady = 2)
E2.siatka (wiersz = 3, kolumna = 0, pady = 2)
E3.siatka (wiersz = 1, kolumna = 1, pady = 2)
e 4.siatka (wiersz = 3, kolumna = 1, pady = 2)
główna pętla()
Zobacz widżet wyjściowy siatki poniżej:
Funkcja Entry () akceptuje jeden ciąg linii zawierający dowolny znak; Może to być liczba, lub może być symbol lub może być również postacią specjalną. Patrz siatka wyjściowa poniżej:
Przykład 3
W poprzednim przykładzie możesz zauważyć, że użyliśmy osobnego instrukcji do tworzenia każdej komórki. Na przykład potrzebowaliśmy siatki o wielkości 2 × 2, 4 komórek w siatce, więc użyliśmy 4 wierszy kodu. Co jeśli potrzebujemy siatki o wielkości 100 × 100? Utworzenie siatki 100 × 100 wymaga 10 000 wierszy kodu? Absolutnie nie. Możesz osiągnąć ten sam wynik, używając pętli. Nie tylko zmniejszy linie kodu, ale także zwiększy wydajność programu, zmniejszając jednocześnie prawdopodobieństwo błędów.
Tutaj użyjemy zagnieżdżonej pętli, aby zrobić siatkę o określonym rozmiarze. Zdefiniujemy dwa dla pętli iteracyjnych przez 10 rzędów i 10 kolumn, aby zrobić siatkę o wielkości 10 × 10. Zobaczmy poniższy kod:
Tutaj zdefiniowaliśmy moduł root (), aby uzyskać środowisko wyświetlania, a następnie dodaliśmy zagnieżdżone do pętli dla wiersza i kolumny, „dla wiersza w zakresie (10)” i „dla col w zakresie (10)”. Spowoduje to siatkę o wielkości 10 × 10. Pierwsza pętla będzie iterowana od 0 do 9, a druga pętla również iteruje od 0 do 9, tworząc siatkę o wielkości 10 × 10. Do drukowania numeru indeksu dla każdej komórki użyliśmy funkcji tekstu etykiet (), „text =„ Row%s - col%s ”. „%S” służy do uzyskania indeksu komórki z pętli.
import tkinter
r = tkinter.Tk ()
dla rządu w zakresie (10):
dla col w zakresie (10):
Tkinter.Etykieta (r, text = 'row%s - col%s'%(wiersz, col),
BorderWidth = 1).siatka (wiersz = wiersz, kolumna = col)
R.główna pętla()
Oto siatka o wielkości 10 × 10 wygenerowana z kodu podanego powyżej:
Wniosek
W tym artykule dowiedzieliśmy się o funkcji Grid () dostarczonej przez bibliotekę Tkinter. Funkcja siatki służy do tworzenia kwadratowej lub prostokątnej siatki w środowisku wyświetlacza. Wykazaliśmy kilka przydatnych przykładów, aby pomóc Ci zrozumieć, jak korzystać z funkcji siatki w programie Python.