Различия между версиями 2 и 3
Версия 2 от 2010-05-30 17:45:47
Размер: 2933
Редактор: alafin
Комментарий:
Версия 3 от 2010-11-16 10:30:39
Размер: 3011
Редактор: Роман
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 40: Строка 40:

[[Рецепты|Подключаемые модули и рецепты]]

Tkinter - встроенная графическая библиотека на основе средств Tk

Tkinter - это встроенная графическая библиотека на основе средств Tk (широко распространённая в мире GNU/Linux и других UNIX‐подобных систем, портирована в том числе и на Microsoft Windows, Apple Mac OS). В связи с тем, что создатель языка Python Гвидо ван Россум считает данную библиотеку весьма стабильной и устойчивой, именно она входит в стандартный дистрибутив Python.

Пример: программа Hello World

   1 from Tkinter import *
   2  
   3 tk = Tk()
   4 tk.title("Hello World!")
   5 def button_clicked():
   6     print "Hello World!"
   7  
   8 button=Button(tk,text="Press Me",command=button_clicked)
   9 button.pack(fill=BOTH)
  10  
  11 tk.mainloop()

Разбор программы

Приведённый пример демонстрирует простейшее приложение GUI на Python. Первая строка программы импортирует модуль Tkinter:

   1 from Tkinter import *

В результате импортирования в пространстве имён программы (скрипта), появляются имена, встроенные в Tkinter, к которым можно обращаться непосредственно. Необходимо заметить, что массовое импортирование имён может привести к их конфликту. Кроме того, для интерпретатора требуется больше времени, чтобы в списке доступных имён найти нужное. Следующая команда создаёт фрейм-окно (далее окно):

   1 tk = Tk()

Следующая команда меняет заголовок окна:

   1 tk.title("Hello World!")

Далее следует определение обработчика события «нажата кнопка мыши». Событие относится элементу Button(Кнопка). Типы событий и графические элементы определены в графической библиотеке Tkinter.

   1 def button_clicked():
   2     print "Hello World!"

В результате нажатия кнопки в консоли будет выведено сообщение «Hello, World!». Сообщение будет выводиться каждый раз при нажатии кнопки.

Подключаемые модули и рецепты

Пакеты/GUI/Tkinter (последним исправлял пользователь Роман 2010-11-16 10:35:41)