Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Векторная графика в tkinter, вывод текста на Canvas
Продолжаем заниматься графикой на tkinter. И лишний раз подчеркнём, что это векторная графика, т.е. графическое изображение состоит из графических примитивов, с которым потом, после того, как они отображены в окне, можно продолжать работать.
Сегодня рассмотрим такой объект на Canvas, как текст. Кроме того рассмотрим некоторые возможности и приёмы работы с объектами на Canvas. Лишний раз подчеркну, что почти всё здесь может быть отнесено и к другим графическим объектам.
В окне программы в середине помещается текст (рисунок 2). При наведении курсора мыши на него, меняется его цвет и текст слегка сдвигается влево и вверх. При уходе курсора текст возвращается на своё место. Скриншот текста программы представлен на рисунке 1.
Пояснение к программе
- Объект текст создаётся методом Canvas.create_text(). Указываются координаты: верхний левый угол прямоугольника, где помещается текст. Также сам текст, цвет текста и шрифт.
- А далее мы хотим обрабатывать наведение курсора мыши на текст, точнее на прямоугольник, в котором вписан этот текст. Здесь излагается один вариантов такой обработки. Мы отслеживаем движение мыши по Canvas: self.cnv.bind("<Motion>", self.mov).
- В качестве параметра в метод mov() передаётся объект, содержащий координаты курсора мыши.
- С помощью Canvas.bbox() можно получить координаты прямоугольника, куда вписан данный объект.
- С помощью Canvas.itemconfigure() мы задаём цвет текста.
- С помощью Canvas.coords() мы задаём координаты текста. Тем самым мы можем двигать объект по холсту.
Пока всё! Продолжение следует...
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.