Эта глава завершает тему создания графических интерфейсов с помощью языка Python и его стандартной библиотеки tkinter, представляя ряд практических программ с графическим интерфейсом. В четырех предшествующих главах мы освоили основы программирования с использованием библиотеки tkinter. Познакомились с базовым набором виджетов — классов Python, которые генерируют графические элементы управления на экране компьютера и могут реагировать на события, вызываемые пользователем. Кроме того, мы также изучили множество дополнительных приемов программирования графических интерфейсов, включая анимацию, перенаправление потоков ввода-вывода с применением сокетов и каналов и поддержку многопоточной модели выполнения. В данной главе мы сконцентрируемся на объединении этих виджетов и приемов для создания более полезных графических интерфейсов. Нами будут изучены:
PyEdit
Программа текстового редактора
PyPhoto
Программа просмотра миниатюр графических изображений
PyView
Программа просмотра графических изображений в режиме слайдшоу
PyDraw
Графический редактор
PyClock
Графические часы
PyToe
Простая игра «крестики-нолики» в качестве развлечения[XLIV]
Как и в главе 6, я выбрал примеры для этой главы из собственной библиотеки программ на языке Python, которыми я действительно пользуюсь. Например, текстовый редактор и часы, с которыми мы здесь познакомимся, служат рабочими лошадками, изо дня в день используемыми мной на моих машинах. Так как они написаны на Python и tkinter, то без изменений работают в Windows и Linux и должны работать так же в Mac OS.
Так как эти сценарии написаны исключительно на языке Python, их дальнейшее развитие целиком зависит от пользователей — освоившись с интерфейсами tkinter, не составит труда изменить или улучшить поведение таких программ редактированием их программного кода. Некоторые из этих примеров аналогичны коммерческим программам (например, PyEdit напоминает Блокнот в Windows), однако переносимость сценариев Python и почти полное отсутствие препятствий к их дальнейшему улучшению дают им явное преимущество.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011