Содержание

Слайд 2

tkinter – библиотека, в которую включены виджеты для языка программирования Python .

tkinter – библиотека, в которую включены виджеты для языка программирования Python .

Слайд 3

Этапы получения программы с GUI

Импорт библиотеки
Создание главного окна
Создание виджет
Установка их свойств
Определение событий
Определение

Этапы получения программы с GUI Импорт библиотеки Создание главного окна Создание виджет
обработчиков событий
Расположение виджет на главном окне
Отображение главного окна

Слайд 4

Импорт модуля tkinter

Способы импортирования:
import tkinter
from tkinter import *
Предпочтительно пользоваться вторым
способом, т. к.

Импорт модуля tkinter Способы импортирования: import tkinter from tkinter import * Предпочтительно
это позволит не указывать каждый
раз имя модуля при обращении к объектам,
которые в нем содержатся.
Первая строка программы:

Слайд 5

Создание главного окна

Любое пользовательское приложение заключено в окно, которое можно назвать главным,

Создание главного окна Любое пользовательское приложение заключено в окно, которое можно назвать
т.к. в нем располагаются все остальные виджеты. Объект окна верхнего уровня создается при обращении к классу Tk модуля tkinter.
Переменную связанную с объектом-окном принято называть root (хотя понятно, что можно назвать как угодно, но так уж принято).
Вторая строчка кода:

Слайд 6

Создание виджет

Кнопка создается при обращении к классу Button модуля tkinter. Объект кнопка

Создание виджет Кнопка создается при обращении к классу Button модуля tkinter. Объект
связывается с какой-нибудь переменной. У класса Button (как и всех остальных классов, за исключением Tk) есть обязательный параметр — объект, которому кнопка принадлежит (кнопка не может "быть ничейной"). Единственное окно (root), является аргументом, передаваемым в класс при создании объекта-кнопки:

Слайд 7

Установка свойств виджет

У кнопки много свойств: размер, цвет фона и надписи и

Установка свойств виджет У кнопки много свойств: размер, цвет фона и надписи
др. Установим всего одно свойство — текст надписи (text):

Слайд 8

Определение событий и их обработчиков

Предположим, что задача кнопки вывести какое-нибудь сообщение в

Определение событий и их обработчиков Предположим, что задача кнопки вывести какое-нибудь сообщение
поток вывода, используя функцию print. Делать она это будет при нажатии на нее левой кнопкой мыши.
Алгоритм (действия) оформляют в виде функции, а затем вызывают, когда они понадобятся.

*Параметр event – это какое-либо событие

Слайд 9

Событие нажатия левой кнопкой мыши выглядит так: .
Требуется связать это событие с

Событие нажатия левой кнопкой мыши выглядит так: . Требуется связать это событие
обработчиком (функцией printer).
Для связи предназначен метод bind. Синтаксис связывания события с обработчиком выглядит так:

Слайд 10

Размещение виджет

Влюбом приложении виджеты не разбросаны по окну как попало, а хорошо

Размещение виджет Влюбом приложении виджеты не разбросаны по окну как попало, а
организованы, интерфейс продуман до мелочей и обычно подчинен определенным стандартам. Для того чтобы отобразить кнопку в окне используют метод pack.
Если не вставить эту строчку кода, то кнопка в окне так и не появится, хотя она есть в программе.

Слайд 11

Отображение главного окна

mainloop – метод вызова главного окна
Данная строчка кода должна быть

Отображение главного окна mainloop – метод вызова главного окна Данная строчка кода
всегда в конце скрипта

Слайд 12

Код программы

from tkinter import *
def printer(event):
print ("Как всегда очередной 'Hello

Код программы from tkinter import * def printer(event): print ("Как всегда очередной
World!'")  
root = Tk()
but = Button(root)
but["text"] = "Печать" but.bind("",printer)
but.pack()
root.mainloop()

Слайд 13

При программировании графического интерфейса пользователя более эффективным оказывается объектно-ориентированный подход. Поэтому многие

При программировании графического интерфейса пользователя более эффективным оказывается объектно-ориентированный подход. Поэтому многие
«вещи» оформляются в виде классов.