В tkinter от класса Canvas создаются объекты-холсты, на которых можно «рисовать», размещая различные фигуры и объекты. Делается это с помощью вызовов соответствующих методов.
При создании экземпляра Canvas необходимо указать его ширину и высоту. При размещении геометрических примитивов и других объектов указываются их координаты на холсте. Точкой отсчета является верхний левый угол.
В программе ниже создается холст. На нем с помощью метода create_line рисуются отрезки. Сначала указываются координаты начала (x1, y1) , затем – конца (x2, y2) .
Остальные свойства являются необязательными. Так activefill определяет цвет отрезка при наведении на него курсора мыши.
Создание прямоугольников методом create_rectangle :
Первые координаты – верхний левый угол, вторые – правый нижний. В приведенном примере, когда на второй прямоугольник попадает курсор мыши, его рамка становится пунктирной, что определяется свойством activedash .
Методом create_polygon рисуется произвольный многоугольник путем задания координат каждой его точки:
Для удобства координаты точек можно заключать в скобки:
Метод create_oval создает эллипсы. При этом задаются координаты гипотетического прямоугольника, описывающего эллипс. Если нужно получить круг, то соответственно описываемый прямоугольник должен быть квадратом.
Более сложные для понимания фигуры получаются при использовании метода create_arc . В зависимости от значения опции style можно получить сектор (по умолчанию), сегмент ( CHORD ) или дугу ( ARC ). Также как в случае create_oval координаты задают прямоугольник, в который вписана окружность (или эллипс), из которой «вырезают» сектор, сегмент или дугу. Опции start присваивается градус начала фигуры, extent определяет угол поворота.
В данном примере светло-серый круг используется исключительно для наглядности.
На холсте можно разместить текст. Делается это с помощью метода create_text :
По умолчанию в заданной координате располагается центр текстовой надписи. Чтобы изменить это и, например, разместить по указанной координате левую границу текста, используется якорь со значением W (от англ. west – запад). Другие значения: N , NE , E , SE , S , SW , W , NW . Если букв, задающих сторону привязки, две, то вторая определяет вертикальную привязку (вверх или вниз «уйдет» текст от заданной координаты). Свойство justify определяет лишь выравнивание текста относительно себя самого.
- Практическая работа
- Нарисовать треугольник в tkinter
- tkinter python рисование
- Оцените статью:
- Статьи
- Комментарии
- Евгений
- Запись экрана
- Рисуем фигуры в Tkinter — тренируемся на котиках
- Рисуем простые фигуры в Tkinter — тренируемся на котиках!
- Что такое Tkinter?
- Подключение Tkinter в Python и создание пользовательского окна.
- Пара слов о раскрашивании фигур
- Рисуем прямоугольник
- Размещаем текст в Tkinter
- Создаем многоугольник
- Создаем овалы и круги в Tkinter
- Рисуем линии
- Арки и сегменты в Tkinter
- 📸 Видео
Видео:Как нарисовать треугольник на языке python? | треугольник на питонеСкачать
Практическая работа
Создайте на холсте подобное изображение:
Для создания травы используется цикл.
Курс с примерами решений практических работ: android-приложение, pdf-версия.
Видео:Рисование в tkinter python (питон) | Уроки по tkinter №9Скачать
Нарисовать треугольник в tkinter
Видео:Как нарисовать треугольник в Python. Модуль TurtleСкачать
tkinter python рисование
Всем привет! Сегодня мы с вами познакомимся с элементом canvas который переводится как холст. Именно на данном холсте мы можем производить отрисовку различных фигур и текста. Итак, поехали!
Для того чтобы начать отрисовку в окне необходимо создать элемент canvas.
C помощью виджета canvas у нас создается холст. В него мы передали следующие параметры:
window — главное окно
width, height — ширина и высота холста
bg — заливка холста(gray — серый цвет)
cursor — курсор в фокусе холста(pencil — карандаш)
C помощью метода pack() мы выводим наш холст в главное окно.
Все теперь мы можем переходить к отрисовке. Начнем с простых линий.
Здесь мы создали две прямых линии. Для их создания воспользовались методом create_line() который принимает в себя следующие параметры.
Первые два параметра это координаты x,y первой точки начало отрезка.
Вторые два параметры это координаты x,y второй точки конец отрезка.
width — толщина линии.
fill — заливка, цвет линии(yellow — желтый).
Для того чтобы на холсте нарисовать прямоугольник или квадрат, нужно воспользоваться методом create_rectangle().
C помощью метода create_rectangle()мы нарисовали квадрат. Данный метод принимает в себя следующие параметры:
Первые два параметра координаты левого верхнего угла прямоугольника.
Вторые два параметра координаты правого нижнего угла прямоугольника.
fill — цвет заливки прямоугольника.
outline — цвет рамки прямоугольника.
Теперь переходим к отрисовке эллипсов и кругов.
Для того чтобы нарисовать круг или овал нам достаточно воспользоваться методом create_oval().
В основе отрисовки круга с помощью данного метода лежит отрисовка прямоугольника. То есть по сути мы отрисовываем невидимый квадрат куда может быть помещен в полную высоту и ширину квадрат или овал.
Данный метод принимает собой следующие аргументы:
Первые два аргумента в квадратных скобочках координаты x,y левого верхнего угла квадрата.
Вторые два аргумента в квадратных скобочках координаты x, y правого нижнего угла квадрата.
fill — цвет заливки овала.
Для отрисовки более сложных фигур треугольников, многоугольников, многогранников.
Мы можем воспользоваться методом create_polygon().
Здесь мы нарисовали треугольник. В качестве параметров данный метод принимает пары значений координат точек которые последовательно между собой соединяются прямыми.
Точек в разных координатах можно создавать сколько угодно. В результате можно нарисовать фигуру практически любой сложности. Свойство fill отвечает за цвет заливки фигуры, а outline за ее контур. Заметьте мы указали цвет заливки точно такой же как и цвет холста и в результате у нас получился эффект не закрашенной фигуры.
И напоследок рассмотрим отрисовку текста в canvas.
За отрисовку текста в canvas отвечает метод create_text(). В него передаются следующие параметры:
Первые два параметра координаты x, y расположения текста на холсте.
text — текст который мы хотим нарисовать
font — шрифт и размер текста
justify — выравнивание текста(слева, справа, по центру)
fill — цвет текста
Весь написанный за сегодня код выглядит так:
Отлично! Сегодня мы с вами познакомились с основами рисования canvas библиотеки tkinter.
Если у вас появились какие либо вопросы пишите в группу
или оставляйте их в комментариях к данной статье.
Также у меня есть канал на
где я каждую неделю публикую новые видео посвященные веб разработке. Так что переходите и будем развиваться вместе.
На этом у меня на сегодня все. Желаю вам успехов и удачи! Пока!
Оцените статью:
Статьи
Комментарии
Внимание. Комментарий теперь перед публикацией проходит модерацию
Евгений
Не подскажите как повернуть текст на 90 градусов чтобы подписать ось Y
Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Видео:Уроки Python / Рисуем с помощью черепашки / Подключение модуля turtleСкачать
Рисуем фигуры в Tkinter — тренируемся на котиках
Видео:Рисуем квадрат круг и треугольник в Python TurtleСкачать
Рисуем простые фигуры в Tkinter — тренируемся на котиках!
Что такое Tkinter?
Tkinter — это библиотека, используемая для создания графики, в том числе — графического пользовательского интерфейса GUI.
Подключение Tkinter в Python и создание пользовательского окна.
Чтобы использовать возможности библиотеки себе и людям на радость, достаточно подключить библиотеку стандартным образом:
После подключения библиотеки нужно создать графическое окно, назовем его «tk». Однако, рисовать в окне мы не будем — это дурной тон, все великие художники для своих картин используют холсты — canvas! Не будем от них отставать и приготовим холст для наших рисунков с помощью функции Canvas(). Чтобы созданный холст стал видим пользователям, применим к нему функцию pack():
Важный момент: для рисования на холсте требуется точно указывать координаты для расположения фигур. Помните, что в Tkinter координатная плоскость имеет вид:
Таким образом, координаты точки, изображенной на рисунке слева, имеют вид: (200, 100).
Пара слов о раскрашивании фигур
Для того, чтобы раскрасить любую из рассмотренных в этой статье замкнутых фигур нам пригодятся дополнительные параметры:
- fill = «значение цвета», например fill = «#ccc» — закрашивает фигуру в заданный цвет;
- outline = «значение цвета», например outline = «#000» — определяет цвет обводки;
- width = «ширина обводки в pt», например, width = 3 — определяет ширину обводки.
Эти параметры перечисляются через запятую после обязательных параметров. Например:
Рисуем прямоугольник
Для создания прямоугольника нужно вызвать функцию create.rectangle(). В качестве обязательных параметров необходимо указать координаты верхней левой и нижней правой точек прямоугольника:
Добавим дополнительные параметры для придания красоты нашему прямоугольнику:
Размещаем текст в Tkinter
Превратим прямоугольник, созданный в предыдущем примере, в элемент мыслевыражения! Напишем на нем гениальную кошачью мысль вида: ‘МУР-МЯУ’ так, чтобы эта мысль располагалась прямо по центру прямоугольника. Для этого нам нужно указать:
- Координату центральной точки надписи, у меня это координата 247,348
- Подготовить текст надписи, он готов: ‘МУР-МЯУ’. Текст записывает в параметре text: text=’МУР-МЯУ’
- При желании добавить шрифт и размер: font=(‘Courier’, 18)
Соберем все параметры в единой строке в вызове функции create_text:
Взгляните, у нас получилась полноценная кошачья табличка!
Создаем многоугольник
Так как кошачья табличка у нас уже готова, не мешало бы создать для нее котика! Хотя бы простого, мультяшного, как этот:
Фигура кота — это многоугольник серого цвета ‘#a3bcbf’ с темной обводкой цвета ‘#313939’ и толщиной 3pt. Чтобы создать многоугольник в Tkinter, нужно вызвать функцию create_polygon с координатами углов создаваемого многоугольника. Взгляните, как выглядит фигура кота на координатной плоскости:
Координаты точек определены, а значит, можно вызывать функцию create_polygon:
Полигон создан! Преобразим его с помощью дополнительных параметров: fill, outline и width:
Чтобы созданный полигон оказался под табличкой с кошачьей надписью, нужно строку кода, в которой мы создаем полигон расположить ВЫШЕ строк кода, в которых создается таблица с надписью :
Создаем овалы и круги в Tkinter
Создание овала или круга в Tkinter очень похоже на создание прямоугольника. Все дело в том, что принцип создания округлых форм в Tkinter основан на вписывании их в прямогугольные или квадратные. То есть вам не нужно знать радиус окружности и координаты ее центральной точки. Для создания круга нужно указать координаты верхней левой и правой нижней точек квадрата, описывающего эту окружность. А при создании овала, соответственно, верхней левой и правой нижней точек прямоугольника, описывающего этот овал. Далее можно перечислить необязательные параметры: цвета fill, обводки outline и ширины обводки width.
Давайте создадим парочку белых кругов c обводкой цвета «#313939» и толщиной в 3 pt:
Думаю, эти белые шарики можно легко превратить в забавные кошачьи глаза. Нужно лишь добавить парочку маленьких черных зрачков:
Рисуем линии
Для рисования линии отлично подходит функция create_line. В качестве параметров нужно указать координаты начальной и конечной точек. Кроме того, можно задать толщину линии.
Найдите на изображении слева линию, которую выведет следующий код:
Арки и сегменты в Tkinter
Чтобы создать арку или сегмент, нужно представить описывающие их фигуры с прямыми углами и определить координаты верхнего левого и нижнего правого углов. Помимо этого нужно задать параметр extent, определяющий угол разворота дуги в градусах:
На изображении выше показана нулевая позиция при определении параметра extent. Зеленым цветом обозначена верхняя дуга, которая образуется при отклонении на 60 градусов от нуля. Нижняя дуга обозначена коричневым цветом. Она образуется при отклонении на -120 градусов от деления «-30 градусов». Чтобы изобразить такую дугу в Tkinter нужно помимо параметра extent = -120 задать дополнительно параметр со стартовой позицией start = 30.
Пришло время нарисовать нашему котику улыбку:
Взгляните, как похорошел наш котик!
А теперь предлагаю самостоятельно потренироваться и дорисовать нашему коту носик, лапки и хвост, чтобы он выглядел примерно так:
Ниже я выложу весь код кота с хвостом и лапами для того, чтобы вы могли сравнить результаты:
📸 Видео
Рисование turtle на холсте tkinter в pythonСкачать
#Изи TKINTER за 5 минутСкачать
Уроки Python / Модуль tkinter (рисование линий, прямоугольников)Скачать
Уроки Python / Модуль tkinter дуги и полигоныСкачать
Python program to show color chooser using Tkinter.Скачать
Уроки Python / Модуль tkinter (работа с картинками)Скачать
Стили в tkinter ttk python (питон) | Уроки по tkinter №8Скачать
Пишем Paint на Python tkinterСкачать
15. Рисуем простые фигуры с помощью черепашки (Turtle). Основы PythonСкачать
Рисуем треугольник и квадрат задавая количество углов на PythonСкачать
Heart Shape Pattern Turtle Graphics Design using Python 🤔 #coding #python #turtle #programming #codeСкачать
Создание треугольника в CANVASСкачать
Решение простых задач на python | Рисуем ёлочку tkinterСкачать