Урок 6. Перемикачі та прапорці

Елементи управління RadioButton називають перемикачами, оскільки розташовані в групах, вони дозволяють вибрати одне з декількох значень . Перемикачі представлені у вигляді невеликих списків із можливістю вибору одного варіанту.
Value – значення перемикача, яке буде набувати група перемикачів в залежності від вибору користувача

Text – текст перемикача
Variable- ім’я групи перемикачів
Value - значення перемикача
Bg – колір фону
Fg – колір тексту
Font – шрифт тексту кнопки

Створимо програму, яка при натисканні на праву кнопку миші виводитиме вікно повідомлення з заголовком «Ваш вибір» та з вибраним варіантом

    from tkinter import *
from tkinter import messagebox
def result (event):
    if First.get()==1:
        answer='Жовтий' #створили змінну answer
    elif First.get()==2:
        answer='Рожевий'
    else:
        answer='Зелений'
    messagebox.showinfo('Ваш вибір',answer)

My_window = Tk()
My_window.title("Задача 1")
My_window.geometry("300x300")
My_window["bg"]="#31B404"
First=IntVar() #Створення групи перемикачів First
First1=Radiobutton(My_window, 
                   text='Жовтий', #текст перемикача 1
                   variable=First,#ім'я групи перемикачів
                   value=1,       #значення перемикача
                   fg='#0F3FFF',  #колір символів
                   font=16,       #розмір шрифту
                   bg='#ADECFF'   #фон перемикача
                   )       
First1.place(x=100,y=50) #Створення та розміщення першого перемикача
First2=Radiobutton(My_window,
                   text='Рожевий',
                   variable=First,
                   value=2,
                   fg='#0F3FFF',
                   font=16,
                   bg='#ADECFF',
                   ) #Створення та розміщення другого перемикача
First2.place(x=100,y=90)
First3=Radiobutton(My_window,
                    text='Зелений',
                    variable=First,
                    value=3,
                    fg='#0F3FFF',
                    font=16,
                    bg='#ADECFF')#Створення та розміщення третього перемикача
First3.place(x=100,y=130)
My_window.bind('Button-3',result)
My_window.mainloop()

Прапорці не об’єднуються в групи, тому, що активних прапорців може бути необмежена кількість. Прапорці слугують для вибору декількох варіантів і тому кожен прапорець має свою окрему змінну із значенням

Атрибути прапорців:
Text – текст перемикача
Variable- ім’я групи перемикачів
onvalue - значення , коли прапорець увімкнений
offvalue - значення , коли прапорець вимкнений
Bg – колір фону
Fg – колір тексту
Font – шрифт тексту кнопки

Визначимо елементи Entry і після натискання на кнопку виведемо текст об’єднаних entry в окреме вікно з повідомленням


from tkinter import *
from tkinter import messagebox
def result (event):
    if Farba1.get()==1 and Farba4.get()==1:
        label['text']='Ви вибрали жовту акварель'
    elif Farba2.get()==1 and Farba4.get()==1:
        label['text']='Ви вибрали зелену акварель'
    elif Farba1.get()==1 and Farba3.get()==1:
        label['text']='Ви вибрали жовту гуаш'
    elif Farba2.get()==1 and Farba3.get()==1:
        label['text']='Ви вибрали зелену гуаш' 
   
My_window = Tk()
My_window.title("Задача 1")
My_window.geometry("300x300")
My_window["bg"]="#31B404"
label=Label(My_window,
            text='Ви ще не зробили свій вибір',
            fg="#39FF12", #колір тексту 
            bg="#FF337E", #фон надпису
            justify=LEFT,  #Вирівнювання тексту
            font=150, #розмір символів
            )
label.place(x=10,y=50)
Farba1=IntVar() #Створення змінних прапорців
Farba2=IntVar()
Farba3=IntVar()
Farba4=IntVar()
Choice1=Checkbutton(My_window,       #назва вікна
                    text='Жовтий',   #текст прапорця
                    variable=Farba1, #назва змінної
                    onvalue=1,       #значення, коли прапорець увімнений
                    offvalue=0,      #значення, коли прапорець вимкнений 
                    fg='#0F3FFF',    #колір символів
                    font=16,         #розмір шрифту
                    bg='#ADECFF'     #фон прапорця
                    )
Choice1.place(x=100,y=100)           #розміщення прапорця
Choice2=Checkbutton(My_window,
                    text='Зелений',
                    variable=Farba2,
                    onvalue=1,
                    offvalue=0,
                    fg='#0F3FFF',   
                    font=16,         
                    bg='#ADECFF'
                    )
Choice2.place(x=100,y=140)
Choice3=Checkbutton(My_window,
                    text='Гуаш',
                    variable=Farba3,
                    onvalue=1,
                    offvalue=0,
                    fg='#0F3FFF',   
                    font=16,         
                    bg='#ADECFF'
                    )
Choice3.place(x=100,y=180)
Choice4=Checkbutton(My_window,
                    text='Акварель',
                    variable=Farba4,
                    onvalue=1,
                    offvalue=0,
                    fg='#0F3FFF',   
                    font=16,         
                    bg='#ADECFF')
Choice4.place(x=100,y=220)
label.bind('Button-1',result)
My_window.mainloop()