- Tkinter
-
Tkinter (от англ. Tk interface) — кросс-платформенная графическая библиотека на основе средств Tk (широко распространённая в мире GNU/Linux и других UNIX‐подобных систем, портирована в том числе и на Microsoft Windows, Apple Mac OS), написанная Стином Лумхольтом (Steen Lumholt) и Гвидо ван Россумом[1]. Входит в стандартную библиотеку Python.
Содержание
Назначение
Библиотека предназначена для организации диалогов в программе с помощью оконного графического интерфейса (GUI). В составе библиотеки присутствуют общие графические компоненты:
- Toplevel
Окно верхнего уровня (корневой виджет)
- Tk
- Frame
Рамка. Содержит в себе другие визуальные компоненты
- Label
Этикетка. Показывает некоторый текст или графическое изображение
- Entry
Поле ввода текста
- Canvas
Рисунок. Может использоваться для вывода графических примитивов, например, для построения графиков
- Button
Кнопка. Простая кнопка для выполнения команды и других действий
- Radiobutton
Переключатель. Представляет одно из альтернативных значений некоторой переменной. Обычно действует в группе. Когда пользователь выбирает какую-либо опцию, с ранее выбранного в этой же группе элемента выбор снимается.
- Chekbutton
Флажок. Кнопка, имеющая два состояния, при нажатии изменяет состояние на противоположное
- Scale
Шкала. Позволяет задать числовое значение путем перемещения движка
- Listbox
Список. Показывает список, из которых пользователь может выделить один или несколько элементов
- Scrollbar
Полоса прокрутки. Может использоваться вместе с некоторыми другими компонентами для их прокрутки
- OptionMenu
- Spinbox
- LabelFrame
- PanedWindow
- Menu
Меню. Служит для организации всплывающих (popup) и ниспадающих (pulldown) меню
- Menubutton
Кнопка-меню. Используется для организации pulldown-меню
- Message
Сообщение. Аналогично Label, но позволяет заворачивать длинные строки и легко меняет свой размер
- Text
Форматированный текст. Позволяет показывать, редактировать и форматировать текст с использованием различных стилей, а также внедрять в текст рисунки и окна.
Также следует отметить, что в Python присутствует набор дополнительных средств в модулях:
- Canvas
- Dialog
- FileDialog
- FixTk
- ScrolledText
- SimpleDialog
- Tix
- Tkconstants
- Tkdnd
- tkColorChooser
- tkCommonDialog
- tkFileDialog
- tkFont
- tkMessageBox
- tkSimpleDialog
- turtle
Пример: программа Hello World
Результат выполнения программы в среде GNOMEfrom tkinter import * tk = Tk() tk.title("Hello World!") tk.geometry('300x40') def button_clicked(): print("Hello World!") button=Button(tk,text="Press Me",command=button_clicked) button.pack(fill=BOTH) tk.mainloop()
Разбор программы
Приведённый пример демонстрирует простейшее приложение GUI на Python. Первая строка программы импортирует модуль tkinter (до версии 3.1 языка Python, название модуля tkinter писалось в коде с прописной буквы — «Tkinter»):
from tkinter import *
В результате импортирования в пространстве имён программы (скрипта), появляются имена, встроенные в Tkinter, к которым можно обращаться непосредственно. Необходимо заметить, что массовое импортирование имён может привести к их конфликту. Кроме того, для интерпретатора требуется больше времени, чтобы в списке доступных имён найти нужное.
Следующая команда создаёт фрейм-окно (далее окно):
tk = Tk()
Следующая команда меняет заголовок окна:
tk.title("Hello World!")
Следующая команда устанавливает размеры окна:
tk.geometry('300x40')
Далее следует определение обработчика события «нажата кнопка мыши». Событие относится элементу Button(Кнопка). Типы событий и графические элементы определены в графической библиотеке Tkinter.
def button_clicked(): print "Hello World!"
В результате нажатия кнопки в консоли будет выведено сообщение «Hello, World!». Сообщение будет выводиться каждый раз при нажатии кнопки.
См. также
Курс по библиотеке Tkinter языка Python в Викиверситете? Примечания
- ↑ Matt Conway, Tkinter Life Preserver (англ.)
Литература
- John E. Grayson Python and Tkinter Programming. — Manning Publications, 1999. — 658 p. — ISBN 9781884777813
- Сузи Р. А. Создание приложений с графическим интерфейсом пользователя // Язык программирования Python: Учебное пособие. — М.: Интуит, Бином. Лаборатория знаний, 2006. — 328 с. — ISBN 5-9556-0058-2
Ссылки
- Официальный сайт (англ.)
- Документация (англ.)
- Fredrik Lundh An Introduction to Tkinter. Архивировано из первоисточника 19 октября 2012. Проверено 12 октября 2012.
- Школа Python/Tk (переводы на русский язык некоторых материалов по Python/Tkinter)
- Conway M. Спасательный круг для изучающих Tkinter. Архивировано из первоисточника 19 октября 2012. Проверено 12 октября 2012.
Для улучшения этой статьи по информационным технологиям желательно?: - Проставив сноски, внести более точные указания на источники.
- Добавить иллюстрации.
- Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).
Инструменты разработки элементов графического интерфейса Низко-
уровневыеMacintosh Toolbox/Carbon • Windows API • Intrinsics • Intuition • Xlib
Высоко-
уровневыеAmiga OS BOOPSI • Magic User Interface • Zune • ReAction GUI
Mac OS и
Mac OS XCocoa • MacApp • MacZoop • PowerPlant
Microsoft
WindowsUNIX, под X Кросс-
платфор-
менныеНа основе Flash ASWing • Adobe Flex • Gnash • SWF2EXE Software
На основе XML,
AJAX или SVGAmple SDK • CougarXML • Dojo Toolkit • Echo • ExtJS • GladeXML • Google Web Toolkit • jQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XUL • Yahoo! UI Library
На основе Java На основе
C или C++Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTK • FOX toolkit • OpenGL User Interface Library • GTK+ • IUP • Juce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++
На основе Common Lisp CAPI • Common Graphics • CLIM • McCLIM • Garnet
На основе Pascal IP Pascal • Lazarus • fpGUI • FireMonkey
На основе Python На основе Objective C На основе других Категории:- Библиотеки Python
- Свободные библиотеки программ
Wikimedia Foundation. 2010.