Прапорці Checkbutton

Об'єкт(віджет)  Checkbutton – клас прапорців. 

Для того, щоб створити об'єкт  Прапорець  застосуємо команди:

chb1 =Checkbutton(root, text='Прапорець1!')

chb1.pack()

В першому рядку ми створюємо змінну rb1 класу Radiobutton(). В дужках вказано назву вікна,  в якому вікні розміщений перемикач та властивість text (напис на перемикачі). Наступний рядок дає команду показати перемикач

Приклад 1. Створити вікно програми з трьома прапорцями: синій, зелений, жовтий

from tkinter import *

root = Tk()

chb1 =Checkbutton(root, text='Синій     ')

chb1.pack()

chb2 =Checkbutton(root, text='Зелений')

chb2.pack()

chb3 =Checkbutton(root, text='Жовтий')

chb3.pack()

root.mainloop()

Елементи Checkbutton потрібно зв'язувати змінними, щоб отримувати інформацію про стан прапорців (вкл., викл.).

Для кожного прапорця потрібно створювати окрему змінну. Інакше при ввімкненні одного прапорця інші будуть відключатися.

Методи класу Checkbutton:

pack()-показати 

get()- взяти дані з прапорця

set() - встановлює початкове значення прапорця

Функції  віджета Checkbutton:

select()-вмикає прапорець

deselect()-вимикає прапорець

Властивості(атрибути)  класу Checkbutton:

text- встановлює текст прапорця

font- шрифт

variable- змінна прапорця

onvalue-значення, що буде присвоюватися змінній variable при виборі прапорця

offvalue-значення, що буде присвоюватися змінній variable при виборі іншого, а не даного прапорця

padx-відступ справа і зліва від тексту до межі прапорця

pady-відступ зверху і знизу від тексту до межі прапорця

state-стан елемента, може приймати значення NORMAL (по замовчуванню), DISABLED і ACTIVE 

Методи у Python записуються наступним чином:

Спочатку вказуємо  змінну(об'єкт), до якої застосовуємо метод, далі вказуємо ім'я методу і дужки. А в дужках вказуємо параметри, якщо вони потрібні.

Функції у Python записуються наступним чином: 


Приклад2. Створити вікно програми з трьома прапорцями: синій, зелений, жовтий/

Створити дві кнопки. Перша кнопка перефарбовує написи в кольори вибраних прапорців, а друга - закриває вікно програми.

from tkinter import *                   

root = Tk()                             

root.config(bg='steelblue')

def zz():

    root.destroy()

def xx():

    if  var1.get() == 1:

        lab1= Label(bg='blue')

        lab1.pack()

    else: lab1= Label(bg='steelblue')

    if var2.get() == 1:

        lab2= Label(bg='green')

        lab2.pack()

    else: lab2= Label(bg='steelblue')    

    if var3.get() == 1:

        lab3= Label(bg='yellow')

        lab3.pack()

    else: lab3= Label(bg='steelblue')    

l1= Label(root,bg='steelblue',text="Оберіть колір")

l1.pack()

var1=IntVar()                         

chb1=Checkbutton(root,bg='steelblue',text="Синій     ",variable=var1,onvalue=1,offvalue=0)      

chb1.pack()


var2 = IntVar()                         

chb2 = Checkbutton(root,bg='steelblue',text="Зелений",variable=var2,onvalue=1,offvalue=0)      

chb2.pack()


var3 = IntVar()                         

chb3 = Checkbutton(root,bg='steelblue',text="Жовтий ",variable=var3,onvalue=1,offvalue=0)      

chb3.pack()


b1= Button(root, text='Показати', command=xx) 

b1.pack(side=LEFT)

b2= Button(root, text='Закрити', command=zz)   

b2.pack(side=RIGHT)

root.mainloop()   

Завдання. Розмістити всі елементи в вікні з  Приклад2  по сітці так, щоб написи з'являлися нижче під кнопками і ширина написів дорівнювала 50 пікселів.