CodeGym /Kursy /Python SELF PL /Praca z checkboxami, radiobuttonami i spinnerami

Praca z checkboxami, radiobuttonami i spinnerami

Python SELF PL
Poziom 50 , Lekcja 2
Dostępny

1. Checkboxy (Checkbutton)

Checkbox to kwadratowy przycisk, który może być zaznaczony lub odznaczony. Jest przydatny, gdy trzeba dać użytkownikowi możliwość wyboru jednego lub kilku parametrów spośród dostępnych.

Tworzenie checkboxa

Aby utworzyć checkbox użyj widżetu Checkbutton. Do śledzenia stanu checkboxa (zaznaczony czy nie) zwykle używamy zmiennej typu IntVar, która przechowuje wartość 1 w przypadku zaznaczenia i 0 w przypadku odznaczenia.

Python
import tkinter as tk

# Funkcja do sprawdzania stanu checkboxa
def show_status():
    print("Włączony" if var.get() == 1 else "Wyłączony")

# Tworzenie okna
root = tk.Tk()
root.title("Przykład z checkboxem")

# Zmienna przechowująca stan
var = tk.IntVar()

# Checkbox powiązany ze zmienną var
checkbox = tk.Checkbutton(root, text="Włącz opcję", variable=var, command=show_status)
checkbox.pack(pady=20)

root.mainloop()

Wyjaśnienie kodu

  • variable=var: Powiązuje checkbox ze zmienną var, która jest aktualizowana przy każdej zmianie stanu checkboxa.
  • Funkcja show_status(): Wypisuje w konsoli bieżący stan checkboxa. Jeśli checkbox jest zaznaczony, wypisuje "Włączony", w przeciwnym razie — "Wyłączony".

Używanie wielu checkboxów

Jeśli potrzebujesz kilku niezależnych opcji, możesz utworzyć kilka checkboxów, z których każdy będzie powiązany z własną zmienną.

Python
# Zmienne do przechowywania stanu
option1 = tk.IntVar()
option2 = tk.IntVar()

# Checkboxy
check1 = tk.Checkbutton(root, text="Opcja 1", variable=option1)
check2 = tk.Checkbutton(root, text="Opcja 2", variable=option2)
check1.pack()
check2.pack()

2. Radiobuttony (Radiobutton)

Radiobuttony to zestaw okrągłych przycisków, z których użytkownik może wybrać tylko jeden. Są przydatne, gdy chcemy dać użytkownikowi możliwość wyboru jednej opcji spośród kilku.

Tworzenie radiobuttonów

Aby utworzyć radiobutton używamy widżetu Radiobutton. Aby powiązać radiobuttony i uczynić ich wybór wzajemnie zależnym, wszystkie muszą być przypisane do jednej zmiennej (IntVar lub StringVar).

Python
# Funkcja do wyświetlania wybranej opcji
def show_choice():
    print(f"Wybrano opcję {choice.get()}")

# Zmienna do śledzenia wyboru
choice = tk.IntVar()

# Radiobuttony
radio1 = tk.Radiobutton(root, text="Opcja 1", variable=choice, value=1, command=show_choice)
radio2 = tk.Radiobutton(root, text="Opcja 2", variable=choice, value=2, command=show_choice)
radio3 = tk.Radiobutton(root, text="Opcja 3", variable=choice, value=3, command=show_choice)

radio1.pack()
radio2.pack()
radio3.pack()

Wyjaśnienie kodu

  • variable=choice: Przypisuje wszystkie radiobuttony do jednej zmiennej choice, aby były od siebie zależne.
  • value: Określa wartość, jaką zmienna choice przyjmie, gdy użytkownik wybierze ten radiobutton.
  • Funkcja show_choice(): Wyświetla w konsoli wybraną opcję.

Radiobuttony z wartościami tekstowymi

Radiobuttony można również przypisać do zmiennej typu StringVar, aby używać wartości tekstowych.

Python
# Zmienna dla wyboru tekstowego
color_choice = tk.StringVar()

# Radiobuttony z wartościami tekstowymi
radio_red = tk.Radiobutton(root, text="Czerwony", variable=color_choice, value="Red")
radio_blue = tk.Radiobutton(root, text="Niebieski", variable=color_choice, value="Blue")
radio_green = tk.Radiobutton(root, text="Zielony", variable=color_choice, value="Green")

radio_red.pack()
radio_blue.pack()
radio_green.pack()

3. Spinboxy (Spinbox)

Spinboxy pozwalają użytkownikowi na wybór wartości liczbowej z zakresu. Ten widżet jest przydatny do wprowadzania danych liczbowych takich jak wiek czy ilość.

Tworzenie spinboxa

W Tkinter spinbox tworzy się za pomocą widżetu Spinbox, który pozwala użytkownikowi wpisać wartość ręcznie lub wybrać ją za pomocą strzałek.

Python
# Funkcja do wyświetlania wybranej wartości
def show_spin_value():
    print(f"Wartość: {spin.get()}")

# Spinbox od 1 do 10
spin = tk.Spinbox(root, from_=1, to=10, command=show_spin_value)
spin.pack(pady=20)

Wyjaśnienie kodu

  • from_ i to: Określają zakres wartości dla spinboxa.
  • Funkcja show_spin_value(): Wyświetla wybraną wartość w konsoli przy każdej zmianie.

Konfigurowanie kroku i wartości

Parametr increment pozwala ustawić krok spinboxa, a parametr values umożliwia wskazanie konkretnych wartości.

Python
# Spinbox z wartościami co 2
spin_step = tk.Spinbox(root, from_=0, to=20, increment=2)
spin_step.pack(pady=5)

# Spinbox z określonymi wartościami
spin_values = tk.Spinbox(root, values=("Mały", "Średni", "Duży"))
spin_values.pack(pady=5)
1
Zadanie
Python SELF PL, poziom 50, lekcja 2
Niedostępne
Tworzenie i konfiguracja checkboxów
Tworzenie i konfiguracja checkboxów
2
Zadanie
Python SELF PL, poziom 50, lekcja 2
Niedostępne
Przyciski radiowe do wyboru koloru
Przyciski radiowe do wyboru koloru
3
Zadanie
Python SELF PL, poziom 50, lekcja 2
Niedostępne
Aplikacja z checkboxami, przyciskami radiowymi i przełącznikiem
Aplikacja z checkboxami, przyciskami radiowymi i przełącznikiem
4
Zadanie
Python SELF PL, poziom 50, lekcja 2
Niedostępne
Konfigurowalny interfejs graficzny
Konfigurowalny interfejs graficzny
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION