CodeGym /Kurs Javy /Python SELF PL /Przyciski i pola tekstowe

Przyciski i pola tekstowe

Python SELF PL
Poziom 49 , Lekcja 2
Dostępny

1. Tworzymy przyciski w Tkinter

Po co nam to?

Wyobraź sobie, że tworzysz kalkulator. No kto by go używał, jeśli nie dałoby się wprowadzić danych i nacisnąć przycisku równa się? Albo może projektujesz formularz do wprowadzania danych. No cóż, tutaj pola tekstowe i przyciski też idealnie pasują.

Przyciski i pola tekstowe pozwalają użytkownikowi bezpośrednio wpływać na program i jego zachowanie. To jak magiczna różdżka, która zamienia pasywne okno w aktywne narzędzie.

Jak wygląda przycisk w Tkinter?

Biblioteka Tkinter oferuje widget Button do tworzenia przycisków. Ten widget jest dość elastyczny i pozwala dostosować tekst przycisku, kolor, a także przypisać działanie, które zostanie wykonane po kliknięciu.

Oto jak to wygląda w praktyce:

import tkinter as tk

# Tworzymy główne okno
root = tk.Tk()
root.title("Moja aplikacja")

# Tworzymy przycisk i dodajemy go do okna
button = tk.Button(root, text="Kliknij mnie!", command=lambda: print("Przycisk został kliknięty!"))
button.pack()

# Uruchomienie głównej pętli
root.mainloop()

Zwróć uwagę na parametr command: pozwala on przypisać do przycisku określone działanie. W tym przykładzie, po kliknięciu przycisku w konsoli pojawi się wiadomość "Przycisk został kliknięty!".

Stylizujemy przycisk

Oczywiście chcesz, żeby twoje przyciski nie tylko działały, ale i wyglądały atrakcyjnie. Dodajmy trochę kreatywności:

button = tk.Button(root, text="Kliknij mnie!", command=lambda: print("Przycisk został kliknięty!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bg i fg — odpowiadają za kolor tła i tekstu, odpowiednio.
  • font — pozwala wybrać czcionkę i jej rozmiar.
  • pady — odstępy w pionie, żeby przycisk "oddychał".

2. Pola tekstowe w Tkinter

Przechodzimy do pól tekstowych. To takie małe okienka, w które twój użytkownik może wpisać swoje życzenia (i nie tylko).

Proste pole tekstowe

Stworzenie pola tekstowego jest super proste z pomocą widgetu Entry:

entry = tk.Entry(root)
entry.pack()

Ale co z tego, że stworzymy pole tekstowe, jeśli nie możemy uzyskać wprowadzonych danych? Nauczmy się, jak to zrobić!

def get_input():
    user_input = entry.get()
    print(f"Użytkownik wpisał: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Pobierz dane", command=get_input)
button.pack()

Super, teraz mamy przycisk, który wyświetla to, co zostało wpisane w polu tekstowym.

Stylizujemy pole tekstowe

Podobnie jak w przypadku przycisków, pola tekstowe również można stylizować:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

Tutaj ustawiliśmy czcionkę, kolor tekstu i tła. Parametry padx i pady dodają odstępy w poziomie i pionie odpowiednio.

3. Zastosowanie praktyczne

Połączmy wszystko w całość i stwórzmy aplikację, w której użytkownik może wprowadzić dane i nacisnąć przycisk, aby przetworzyć wprowadzone informacje. Stworzymy mały kalkulator, który dodaje wprowadzone liczby.

import tkinter as tk

def calculate():
    try:
        # Pobieranie wartości z pól tekstowych
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # Obliczanie sumy
        result = number1 + number2
        
        # Aktualizacja tekstu wyniku
        result_label.config(text=f"Wynik: {result}")
    except ValueError:
        result_label.config(text="Wprowadź poprawne liczby!")

# Tworzenie głównego okna
root = tk.Tk()
root.title("Prosty Kalkulator")

# Pola tekstowe na liczby
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# Przycisk do obliczeń
calculate_button = tk.Button(root, text="Dodaj", command=calculate)
calculate_button.pack(pady=10)

# Etykieta do wyświetlania wyniku
result_label = tk.Label(root, text="Wynik: ")
result_label.pack()

# Uruchomienie głównej pętli
root.mainloop()

Tak oto stworzyliśmy małą, ale dumną aplikację-kalkulator, która daje użytkownikowi możliwość wprowadzania danych i widzenia wyniku.

Debugowanie podczas pracy z widgetami

Pracując z przyciskami i polami tekstowymi, możesz napotkać kilka typowych błędów. Na przykład często zdarza się, że handler przycisku nie działa. Najczęstsza przyczyna — brak parametru command albo błąd w składni funkcji lambda.

Równie często pojawiają się błędy związane z niepoprawnym wprowadzaniem danych. Dlatego nie zapominaj o sprawdzaniu i obsłudze danych wejściowych, tak jak zrobiliśmy to w naszym kalkulatorze, aby wykluczyć problemy.

To wszystko na dzisiaj! Teraz wiesz, jak dodać przyciski i pola tekstowe do swojej aplikacji, aby interakcja z użytkownikiem była interaktywna i ciekawa. Kolejnym krokiem będzie obsługa zdarzeń po kliknięciu przycisków, ale o tym już w następnym wykładzie!

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION