Дмитрий Красота - Введение в Python
- Название:Введение в Python
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Дмитрий Красота - Введение в Python краткое содержание
--------
Файл изготовлен по материалам сайта http://pythonicway.com/
Введение в Python - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Теперь добавим метод изменения размера кисти:
| def set_brush_size(self, new_size):
| self.brush_size = new_size
И модернизируем код каждой кнопки нижнего ряда по следующему шаблону:
one_btn = Button(self, text="Two", width=10, command=lambda: self.set_brush_size(2))
Логика работы этих кнопок та же, что и у кнопок изменения цвета кисти. Получаем следующий результат:

На этом практически все, осталось добавить функционал очистки холста. Мы оставили место в верхнем ряду кнопок, его и заполним. Добавьте следующий код в наш метод setUI:
| clear_btn = Button(self, text="Clear all", width=10, command=lambda: self.canv.delete("all"))
| clear_btn.grid(row=0, column=6, sticky=W)
Для очистки холста мы используем метод delete класса Canvas, чтобы удалить все с холста в качестве аргумента методу delete мы передаем "all". Вот и все, у нас есть примитивный Paint.
P.S.: Запустив данное приложение, вы заметите, что если провести мышкой быстро, то линии у нас получаются прерывчастыми. Это вызвано тем, что движение происходит быстрее, чем завершается очередной цикл root.mainloop, соответственно все, что попадает "между" итерациями цикла пропадает. Решение этой проблемы само по себе достаточно интересное задание, однако оно требует намного более сложного кода.
P.P.S: Исходный код проекта на GitHub (https://github.com/g0t0wasd/python/blob/master/programs/gui/PyPaint.py)
Об авторе

Всем привет! Меня зовут Дмитрий Красота, я ведущий программист, сертифицированный Python-cпециалист.

Изначально программирование было просто хобби. Еще в школе я баловался с JavaScript, потом прочел пару книг по С++. Как и многие хотел написать собственную игру. Конечно, до тех пор, пока я не узнал о языке программирования Pythonэто были только фантазии. Постепенно совершенствуясь и открывая новые источники информации, я все больше и больше стал склоняться к выбору профессии программиста, разработчика на Python.
Основная проблема, с которой я сталкивался когда был еще школьником это отсутствие качественного обучающего материала по программированию. Обидно, ведь тема благодатная и прибыльная, многие известные люди называют программирование - грамотностью 21 века. Так же как умение читать в 18 веке давало значительное преимущество перед остальными людьми, так и умение программировать сегодня это в значительной мере залог успешной и благополучной жизни (ни для кого не секрет сколько сегодня получают программисты). И тем не менее информация в книгах достаточно ограниченая, скудная, лишенная наглядных примеров.
В своем блоге я стараюсь дать максимально широкий спектр информации по теме программирования на Python. И что самое важное - дополнить его наглядными примерами программ на языке Python, включительно с примерами игр на этом ЯП.
Интервал:
Закладка: