Интерфейс пользователя
(11 класс, ООП)
учитель информатики
МБОУ СОШ с УИОП с.Тербуны
Тербунского муниципального района
Липецкой области
Болгова Н.А.
Повторяем
Клик кнопки
def clicked (): vidzet. configure ( text = " Вы нажали ‘ OK ’ " )
В программе: vidzet=Button(form, text= "Ok“ ,……добавить command =clicked)
Метод создания динамически изменяемых интерфейсов
Всплывающее окно
модуль tkinter.messagebox
Функции модуля :
- showinfo( ) : предназначена для отображения некоторой информации
- showerror( ) : предназначена для отображения ошибок
- showwarrning () : предназначена для отображения предупреждений
Создание всплывающего окна
from tkinter import messagebox
def clicked1 ():
messagebox. showinfo (' Заголовок ', 'Текст' )
В программе: vidzet1=Button(form, text= "Oтмена“ ,……добавить command =clicked1)
Создание текстового поля ввода данных
txt = Entry (form, width =…) txt.grid(column=…, row=…)
Использование готовых управляемых элементов для построения интерфейса
Тема урока
Практика
Откройте файл «Вопрос» (ООП/ графика)
Создайте копию файла под именем «Радиокнопка»
Создание радиокнопок
from tkinter . ttk import Radiobutton
rad1 = Radiobutton (form,text=' Первый ', value=1)
Программа
from tkinter import * from tkinter.ttk import Radiobutton
form = Tk() form.title( "Программирование" ) form.geometry = ( "450 x 300" ) # текст в окне ,Label -класс text = Label(form, text= "В каком году разработали Python?" , font=( " Arial" , 24 ), bg= "#ff00ff" ) text.grid(column=22, row=15)
Программа
rad1 = Radiobutton(form, text="1989", value = 1) rad1.grid(column= 10 , row= 90 ) rad2 = Radiobutton(form, text="1991", value = 2) rad2.grid(column= 20 , row= 90 ) rad3 = Radiobutton(form, text="2001", value = 3) rad3.grid(column= 25 , row= 90 ) form. mainloop( )
Задание
Добавьте команду
command=clicked ) и def clicked():
Поле с раскрывающимся списком
from tkinter.ttk import Combobox
combo = Combobox (form)
combo['values'] = (1, 2, 3, " Текст" )
Практика
Создайте копию файла «Радиокнопка» -
«Выпадающий список»
Программа
from tkinter import * from tkinter.ttk import Combobox form = Tk() form.title( "Программирование" ) # размер окна form.geometry = ( "1450 x 900" ) # текст в окне ,Label -класс text = Label(form, text= "В каком году разработали Python?" , font=( "Arial" , 24), bg= "#ff00aa" ) # позиция текста text.grid(column= 20 , row= 15 )
Программа
#выпадающий список spisok = Combobox(form) spisok ["values“]=( 1989,1991,2000 ," не знаю" ) spisok. grid(column=20, row=150) form. mainloop( )
Создание чекбокса
from tkinter.ttk import Checkbutton
chek = BooleanVar( ) #chek.set(True), chek.set(False) chek1 = Checkbutton( form , text = "1989", var = chek) chek.grid(column=20, row=90)
Примечание
chek = IntVar()
chek.set(0) # False
chek.set(1) # True
Если хотите получить значения «0» и «1»
Практика
Создайте копию файла «Радиокнопка» -
«Чекбоксы»
Создание чекбокса (флажка)
from tkinter import * from tkinter import messagebox from tkinter.ttk import Checkbutton def clicked(): messagebox.showinfo( 'Результат' , 'Верно!' ) def clicked1(): messagebox.showinfo( 'Результат' , 'Неверно!' ) form = Tk() form.title( "Программирование" )
Создание чекбокса
form.geometry = ( "400 x 300" ) text = Label(form, text= "В каком году разработали Python?" , font=( "Arial" , 24), bg= "#ff00aa" ) text.grid(column=20, row=15) #чекбокс chek11 = BooleanVar( ) # значение \/ chek12 = BooleanVar( ) chek13 = BooleanVar( )
Создание чекбокса
chek1 = Checkbutton(form, text="1989", var = chek11, command = clicked1) chek1.grid(column=20, row=120) chek2 = Checkbutton(form, text="1991", var = chek12, command = clicked) chek2.grid(column=20, row=170) chek3 = Checkbutton(form, text="2000", var = chek13, command = clicked1) chek3.grid(column=20, row=220)