Презентація до уроку в 8 класі "Прапорці. Перемикачі" Python. Розглянуто основні теоретичні відомості. Наведено приклади програм, додано їх вивід
Перегляд файлу
",result)window.mainloop()" title="Створимо динамічну програму, яка буде, при натисканні на праву клавішу миші по області вікна, виводити вікно повідомлення з заголовком "Ваш вибір" та з варіантом, який обрав користувач. Створимо нову подію та функцію. Але перемикачі та прапорці працюють не так, як текстове поле, тому ми зможемо отримати лише номер вибраного перемикача, а отже будемо користуватися розгалуженням:from tkinter import *from tkinter import messageboxdef result(event): if perem.get()==1: pov="Жовтий" elif perem.get()==2: pov="Рожевий" else: pov="Світло зелений" messagebox.showinfo("Ваш вибір", pov)window=Tk()window.geometry("400x400")perem=Int. Var()perem1=Radiobutton(window, text="Жовтий", variable=perem, value=1)perem1.place(x=100, y=200)perem2=Radiobutton(window, text="Рожевий", variable=perem, value=2)perem2.place(x=100, y=220)perem3=Radiobutton(window, text="Світло зелений", variable=perem, value=3)perem3.place(x=100, y=240)window.bind("",result)window.mainloop()">
",newtext)window.mainloop()" title="Для прикладу візьмемо вікно з розмірами 500х500 пікселів та створимо напис із початковим текстом "Не вибрано". Також створимо чотири прапорці (перші два із варіантами кольорів та інші двоє із варіантами типів фарб). В залежності від нашого вибору текст напису буде змінюватися (у якості прикладу розглянемо лише 2 комбінації). Щоб реалізувати зміну тексту напису створимо подію Button-l для напису.from tkinter import *def newtext(event): if prap1.get()==1 and prap4.get()==1: label["text"]="Ви вибрали жовту гуаш" elif prap2.get()==1 and prap3.get()==1: label["text"]="Ви вибрали зелену акварель" window=Tk()window.geometry("400x400")label=Label(window, text="Не вибрано")label.place(x=100, y=50)prap1=Int. Var()prap2=Int. Var()prap3=Int. Var()prap4=Int. Var()prapor1=Checkbutton(window, text="Жовтий", variable=prap1, onvalue=1, offvalue=0)prapor1.place(x=100, y=100)prapor2=Checkbutton(window, text="Зелений", variable=prap2, onvalue=1, offvalue=0)prapor2.place(x=100, y=120)prapor3=Checkbutton(window, text="Акварель", variable=prap3, onvalue=1, offvalue=0)prapor3.place(x=100, y=160)prapor4=Checkbutton(window, text="Гуаш", variable=prap4, onvalue=1, offvalue=0)prapor4.place(x=100, y=180)label.bind("",newtext)window.mainloop()">
Запитання: Як додати текстове поле?Що таке текстове поле?Для чого використовується текстове поле?Які властивості має текстове поле?Що означає метод get?Наведіть приклади використання текстового поля?
Номер слайду 3
ПеремикачіПеремикачі слугують для вибору одного варіанта серед запропонованих. Перемикач - це не єдиний об'єкт, а група об'єктів, тому спочатку створюється група перемикачів, а потім самі перемикачі за допомогою функції Radiobutton():ім'я_групи перемикачів=Int. Var()назва_ перемикача1= Radiobutton(назва_вікна, text=”Текст перемикача1”, variable= ім'я_групи_перемикачів, value=значення перемикача1)назва_перемикача1= Radiobutton(назва_вікна, text=”Текст перемикача2”, variable= ім'я_групи_перемикачів, value=значення перемикача2)…value — значення перемикача, яке буде набувати група перемикачів в залежності від вибору користувача. Зазвичай значення перемикача – це натуральні числа, починаючи від 1, хоча ви можете встановити і інші. Та головне щоб для всіх перемикачів вони були різними.ім'я групи перемикачів – це цілочисельна (lnt. Var) змінна із результатом вибору користувача програми. Для того, щоб отримати значення, яке набула група перемикачів потрібно застосувати метод get().
Номер слайду 4
Нехай, ми маємо групу перемикачів grupa1, перший перемикач має значення 1, а другий - 2. Отже, якщо користувач вибере перший перемикач, то grupa1.get() буде мати значення 1. Аргументи variable, value та text є обов’язковими, без них перемикачі не будуть представляти із себе нічого. Але є й необов'язкові атрибути:· bg=”колір” - колір фону;· fg=”колір” - колір тексту;· font=”шрифт та розмір шрифту” - шрифт тексту кнопки. Кожен перемикач потрібно розмістити за допомогою методу place().
Номер слайду 5
from tkinter import *window=Tk()window.geometry("400x400")perem=Int. Var()perem1=Radiobutton(window, text="Жовтий", variable=perem, value=1)perem1.place(x=100, y=200)perem2=Radiobutton(window, text="Рожевий", variable=perem, value=2)perem2.place(x=100, y=220)perem3=Radiobutton(window, text="Світло зелений", variable=perem, value=3)perem3.place(x=100, y=240)window.mainloop()Cтворимо вікно із розмірами 400x400, та створимо в ньому групу перемикачів, а саме три перемикачі із варіантами кольорів (жовтий, рожевий та світло зелений). І перший розмістимо в 100 пікселях від лівого краю та в 200 пікселях від верхнього краю, а кожен наступний на 20 пікселів нижче.
Номер слайду 6
З самого початку жоден перемикач не вибраний, якшо ж ми хочемо, щоб на початку був одразу вибраний один із перемикачів, нам потрібно розміститипісля оголошення змінної групи перемикачів наступну конструкцію:ім'я_групи_перемикачів.set(значення_перемикача)Примітка. Метод get() призначений для одержання значення різних об’єктів, а метод set() для встановлення значення. Тобто, якщо ми маємо групу перемикачів perem, та два перемикача із значеннями 1 та 2 і ми хочемо аби одразу був вибраний перший перемикач, ми застосуємо наступний рядок коду:perem.set(1)
Номер слайду 7
Створимо динамічну програму, яка буде, при натисканні на праву клавішу миші по області вікна, виводити вікно повідомлення з заголовком "Ваш вибір" та з варіантом, який обрав користувач. Створимо нову подію та функцію. Але перемикачі та прапорці працюють не так, як текстове поле, тому ми зможемо отримати лише номер вибраного перемикача, а отже будемо користуватися розгалуженням:from tkinter import *from tkinter import messageboxdef result(event): if perem.get()==1: pov="Жовтий" elif perem.get()==2: pov="Рожевий" else: pov="Світло зелений" messagebox.showinfo("Ваш вибір", pov)window=Tk()window.geometry("400x400")perem=Int. Var()perem1=Radiobutton(window, text="Жовтий", variable=perem, value=1)perem1.place(x=100, y=200)perem2=Radiobutton(window, text="Рожевий", variable=perem, value=2)perem2.place(x=100, y=220)perem3=Radiobutton(window, text="Світло зелений", variable=perem, value=3)perem3.place(x=100, y=240)window.bind("",result)window.mainloop()
Номер слайду 8
ПрапорціПрапорців - це елементи управління не об’єднуються в трупи, тому, що активних прапорців може бути не обмежена кількість. Виглядають вони у неактивному стані i в активному стані по різному. Прапорці слугують для вибору декількох варіантів і тому кожен прапорець має свою змінну із значенням. Для створення прапорців призначена функція Checkbutton(), і застосовується вона так:назва_змінної=Int. Var()ім’я_прапорця= Checkbutton(назва_вікна, text=“Teкст прапорця", vаriable=назва_змінної, onvalue=значення_коли_прапорець_ввікнутий, ofvalue=значення_коли_прапорець_вимкнутий)Зазвичай в якості значення прапорця встановлюють 1 та 0 (в активному та неактивному стані), але вибір все одно залишається за автором програми.
Номер слайду 9
Для прикладу візьмемо вікно з розмірами 500х500 пікселів та створимо напис із початковим текстом "Не вибрано". Також створимо чотири прапорці (перші два із варіантами кольорів та інші двоє із варіантами типів фарб). В залежності від нашого вибору текст напису буде змінюватися (у якості прикладу розглянемо лише 2 комбінації). Щоб реалізувати зміну тексту напису створимо подію Button-l для напису.from tkinter import *def newtext(event): if prap1.get()==1 and prap4.get()==1: label["text"]="Ви вибрали жовту гуаш" elif prap2.get()==1 and prap3.get()==1: label["text"]="Ви вибрали зелену акварель" window=Tk()window.geometry("400x400")label=Label(window, text="Не вибрано")label.place(x=100, y=50)prap1=Int. Var()prap2=Int. Var()prap3=Int. Var()prap4=Int. Var()prapor1=Checkbutton(window, text="Жовтий", variable=prap1, onvalue=1, offvalue=0)prapor1.place(x=100, y=100)prapor2=Checkbutton(window, text="Зелений", variable=prap2, onvalue=1, offvalue=0)prapor2.place(x=100, y=120)prapor3=Checkbutton(window, text="Акварель", variable=prap3, onvalue=1, offvalue=0)prapor3.place(x=100, y=160)prapor4=Checkbutton(window, text="Гуаш", variable=prap4, onvalue=1, offvalue=0)prapor4.place(x=100, y=180)label.bind("",newtext)window.mainloop()