Понравилась презентация – покажи это...
Слайд 0
Графические интерфейсыпакет Tkinter
Слайд 1
import Tkinter
from Tkinter import *
Слайд 2
Widgets
label
button
entry
text
menu
canvas
widget=Widgetclass(master, option=value, ...)
Слайд 3
Widgets
Слайд 4
Основные методы виджетов
config(option=value, ...) - изменить опции
config() > dict – информация об опциях
cget(option) – возвращает текущее значение опции
bind(event, handler) – привязать определенное действие к определенному событию виджета
grid(options), pack(options) – менеджеры расположения
Слайд 5
Опции виджетов
Общие
Размер
Фон
Цвет и стиль текста
Наличие и тип границы
Тип курсора
enabled/disabled
и т.д.
Специфические
Слайд 6
Label
Текст / картинка
label = Label(master, text=”Text”)
Опции:
text
image
width, height
textvariable (типа StringVar)
и т.д.
Слайд 7
Button
b = Button(master, option=value, ...)
Слайд 8
Button
b = Button(master, option=value, ..., command=callback)
Слайд 9
Listbox
insert(index,items)
delete(item) / delete(first,last)
get(index) > string
get(first,last) > list – список вариантов
select_set(index) / select_set(first,last)
select_includes(index) > boolean
curselection() > list of indexes – выбранные варианты
select_clear()
Слайд 10
Frame
Frame = Frame(master, option=value, ...)
Помогает группировать другие виджеты
Слайд 11
Entry
get() > string (получить содержимое поля)
Слайд 12
Text
Слайд 13
Text
Слайд 14
Canvas
Рисунки, графики, диаграммы...
Создаются элементы виджета, которые на нем размещаются
arc
bitmap
image
line
oval
polygon
rectangle
text
window – как контейнер для других виджетов, располагаемых поверх canvas
Слайд 15
Canvas
itemcget(item, option) > string – значение опции
itemconfig(item, options)
create_название_элемента(options) > id
delete(items)
lift(item)
lower(item)
Слайд 16
Menu
Слайд 17
Menu
Слайд 18
Pack
pack(option=value, …)
pack_configure(option=value, …)
pack_forget()
pack_info() > dict – словарь с имеющимися опциями
side (TOP, BOTTOM, LEFT, RIGHT)
fill (X, Y, BOTH)
Слайд 19
Pack
Слайд 20
Pack
Слайд 21
Pack
Слайд 22
Grid
Создает таблицу
Метод grid, вызванный у виджетов, задает расположение в таблице
widget.grid(column=1,row=1)
Пустые строки и столбцы игнорируются
По умолчанию виджеты в ячейках центрируются
Слайд 23
Grid
grid_configure(option=value, …)
grid_forget() / grid_remove()
grid_info() > dict – словарь имеющихся опций
Слайд 24
Scrollbar
Для Listbox, Text, Canvas, Entry
Слайд 25
Связывание (bind)
Связь между виджетом, событием и действием
widget.bind(event, handler)
Слайд 26
События
<Button-1> = <ButtonPress-1> = <1>
Нажатие на кнопку мыши
<1> - левая кнопка, <2> - средняя, <3> - правая
event.x, event.y – положение курсора
<B1-Motion>
Перемещение мышки при нажатой кнопке
event.x, event.y – положение курсора
<ButtonRelease-1>
Отпустить кнопку
event.x, event.y – положение курсора
<Double-Button-1>
Двойное нажатие
event.x, event.y – положение курсора
<Enter>
Указатель мыши входит в область виджета
<Leave>
Указатель мыши покидает область виджета
<Key> = <KeyPress>, <KeyRelease>
Значение клавиши передается как event.char
a = <KeyPress-a>
нажатие клавиши а
<Return>
Клавиша Enter
<Control-x> = <Control-KeyPress-x>, <Shift-x>, <Shift_L-x>, <B1-x>
Слайд 27
After
after(delay_ms,callback,args…) – callback вызывается через delay_ms миллисекунд
after_cancel(id)
after(delay_ms) – останавливает петлю событий
Слайд 28
tkFileDialog
tkFileDialog.askopenfile(mode=‘r’, **options)
tkFileDialog.askopenfiles(mode=‘r’, **options)
tkFileDialog.askopenfilename(**options)
tkFileDialog.askopenfilenames(**options)
Слайд 29
tkFileDialog
Слайд 30
tkFileDialog
tkFileDialog.askdirectory( **options)
tkFileDialog.asksaveasfile(mode=‘w’, **options)
tkFileDialog.asksaveasfilename(**options)
Слайд 31
Tcl/Tk & Tkinter
button .fred -fg red -text "hi there"
^ ^ \_______________/
| | |
class new options
command widget (-opt val -opt val ...) fred=Button(root, fg=“red”)
Имя виджета само становится командой:
.fred someAction someOptions fred.someAction(someOptions)
Слайд 32
Документация
http://www.pythonware.com/library/tkinter/introduction/index.htm
(An Introduction to Tkinter by Fredrik Lundh)
Документация Tck/Tk
Например, http://www.tcl.tk/doc/
Google )