Вы находитесь на странице: 1из 10

Урок № 2

Tkinter.
Часть 1

ИМПОРТ БИБЛИОТЕКИ TKINTER.


ВИДЖЕТ LABEL. УПАКОВЩИК PACK.

Цель урока: ознакомиться с инструментами библиотеки


Tkinter; научиться создавать свое оконное приложение и
выводить в него текст, картинку; разобраться, как рабо-
тает упаковщик.
Tkinter. Часть 1

T
kinter (Tk interface) – это стандартный графиче-
ский интерфейс пользователя в Python. Интер-
фейсы Tk и Tkinter доступны на большинстве
платформ Unix, а также в системах Windows. Важно
заметить, что в Python 2.х версии используем Tkinter, в
Python 3.0 и более поздних версий – tkinter в нижнем
регистре. Tkinter не единственный инструментарий соз-
дания Gui-приложений на Python. Однако он наиболее
часто используется.

Импорт библиотеки
Прежде чем приступить к написанию приложения,
необходимо импортировать библиотеку. Сделать это
можно одним из приведенных ниже способов.
import tkinter
Или другой вариант – использовать from.
from tkinter import *
Проверим работу модуля, создав тестовое окно.
Для этого достаточно ввести строку tkinter._test().
Результат выполнения этого кода выведет окно с двумя
кнопками.
import tkinter
tkinter._test()

3
Урок № 2

В случае наличия ошибки, необходимо вниматель-


но ознакомиться с причиной. Наиболее частые из них:
отсутствует модуль Tkinter, используемая библиотека
Tkinter (tkinter) не соответствует версии Python.

Класс Tk
Для любого приложения Tkinter понадобится
класс Tk. Позволяет создавать программы с оконным
интерфейсом. Воспользуемся методом mainloop для
запуска главного цикла приложения. Этот метод будет
обрабатывать события, пока пользователь не выйдет
из программы, либо закрыв окно, либо завершив
выполнение программы.
from tkinter import *
window = Tk()
window.mainloop()

4
Tkinter. Часть 1

Укажем заголовок окна, его размер и предоставим


возможность самостоятельно менять размер окна.
window.title("Test")
window.minsize(350, 200)
window.resizable(True, True)

Виджет Label
Виджет Label позволяет вывести в окно изображе-
ние или текст, но без возможности его редактирования.
Обладает рядом свойств, позволяющих не только ввести
текст для отображения (text), но и определить шрифт и
размер текста (font), цвет текста (fg). Обязательно ис-
пользовать упаковщик.
label.config(text="Hello World", font="Arial 36",
fg="#7a0472")
label.pack()

5
Урок № 2

Добавим изображение в Label. Стоит заметить, что


с помощью библиотеки Tkinter можно импортировать
изображения формата GIF и PPM/PGM.
image = PhotoImage(file="/Users/user/Documents/Python
Middle/code/orig.gif")

label = Label(window, image=image).pack(side="right")


explanation = """Use only GIF and PPM/PGM formats."""
MainLabel = Label(window, justify=LEFT, padx = 10,
text=explanation).pack(side="left")

6
Tkinter. Часть 1

Упаковщик
Упаковщик – это специальный механизм, необхо-
димый для размещения элементов в окне. В частности,
используется для размещения виджетов друг за другом.

Pack
Данный упаковщик обычно применяется для по-
следовательного размещения элементов по горизонтали
или вертикали. Рассмотрим аргументы и как они влия-
ют на расположение виджетов в окне приложения.
from tkinter import *
root = Tk()
label = Label(root, text="One", bg="#f9f909",
fg="#000000")
label.pack(side=LEFT)
label = Label(root, text="Two", bg="#00a502",
fg="#ffffff")
label.pack(side=LEFT)
label = Label(root, text="Three", bg="#190077",
fg="#ffffff")
label.pack(side=LEFT)
mainloop()

7
Урок № 2

Без аргументов pack().

Укажем, к какой стороне должен примыкать


виджет. Для каждого label установим значение
pack(side="left").

Для One применим аргумент pack(side="left"), для


Three – pack(side="top"), для Two – pack(side="bottom").

Оставим один label и применим аргумент


pack(padx=10, pady=10), затем pack(padx=20, pady=20)
и pack(padx=25, pady=25). Посмотрим, как это изменит
внешний вид окна.

8
Tkinter. Часть 1

Приложение

from tkinter import *


window = Tk()
window.title("Start")
window.resizable(False, False)
label = Label(window)
label.config(text="Hello, tkinter!",\
font="Arial 100",\
fg="navy")
label.pack(padx=50, pady=20)

window.mainloop()

9
Урок № 2
Tkinter. Часть 1

© Компьютерная Академия «Шаг»


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопроизведения,


фрагменты которых использованы в материале, принадлежат их законным владель-
цам. Фрагменты произведений используются в иллюстративных целях в объёме,
оправданном поставленной задачей, в рамках учебного процесса и в учебных целях,
в соответствии со ст. 1274 ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське
право і суміжні права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию объектов
авторского права и не ущемляет законные интересы автора и правообладателей.
Цитируемые фрагменты произведений на момент использования не могут быть
заменены альтернативными, не охраняемыми авторским правом аналогами, и
как таковые соответствуют критериям добросовестного использования и честного
использования.
Все права защищены. Полное или частичное копирование материалов запрещено.
Согласование использования произведений или их фрагментов производится
с авторами и правообладателями. Согласованное использование материалов
возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое исполь-
зование материалов определяется действующим законодательством Украины.

Вам также может понравиться