Нарисовать треугольник в tkinter

Canvas

В 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 определяет лишь выравнивание текста относительно себя самого.

Видео:Как нарисовать треугольник на языке python? | треугольник на питонеСкачать

Как нарисовать треугольник на языке python? | треугольник на питоне

Практическая работа

Создайте на холсте подобное изображение:

Для создания травы используется цикл.

Курс с примерами решений практических работ: android-приложение, pdf-версия.

Видео:Рисование в tkinter python (питон) | Уроки по tkinter №9Скачать

Рисование в tkinter python (питон) | Уроки по tkinter №9

Нарисовать треугольник в tkinter

Нарисовать треугольник в tkinter Нарисовать треугольник в tkinter

Видео:Как нарисовать треугольник в Python. Модуль TurtleСкачать

Как нарисовать треугольник в Python. Модуль Turtle

tkinter python рисование

Нарисовать треугольник в tkinter

Всем привет! Сегодня мы с вами познакомимся с элементом canvas который переводится как холст. Именно на данном холсте мы можем производить отрисовку различных фигур и текста. Итак, поехали!

Для того чтобы начать отрисовку в окне необходимо создать элемент canvas.

C помощью виджета canvas у нас создается холст. В него мы передали следующие параметры:

window — главное окно

width, height — ширина и высота холста

bg — заливка холста(gray — серый цвет)

cursor — курсор в фокусе холста(pencil — карандаш)

Нарисовать треугольник в tkinter

C помощью метода pack() мы выводим наш холст в главное окно.

Все теперь мы можем переходить к отрисовке. Начнем с простых линий.

Нарисовать треугольник в tkinter

Здесь мы создали две прямых линии. Для их создания воспользовались методом create_line() который принимает в себя следующие параметры.

Первые два параметра это координаты x,y первой точки начало отрезка.

Вторые два параметры это координаты x,y второй точки конец отрезка.

width — толщина линии.

fill — заливка, цвет линии(yellow — желтый).

Для того чтобы на холсте нарисовать прямоугольник или квадрат, нужно воспользоваться методом create_rectangle().

Нарисовать треугольник в tkinter

C помощью метода create_rectangle()мы нарисовали квадрат. Данный метод принимает в себя следующие параметры:

Первые два параметра координаты левого верхнего угла прямоугольника.

Вторые два параметра координаты правого нижнего угла прямоугольника.

fill — цвет заливки прямоугольника.

outline — цвет рамки прямоугольника.

Теперь переходим к отрисовке эллипсов и кругов.

Для того чтобы нарисовать круг или овал нам достаточно воспользоваться методом create_oval().

Нарисовать треугольник в tkinter

В основе отрисовки круга с помощью данного метода лежит отрисовка прямоугольника. То есть по сути мы отрисовываем невидимый квадрат куда может быть помещен в полную высоту и ширину квадрат или овал.

Данный метод принимает собой следующие аргументы:

Первые два аргумента в квадратных скобочках координаты x,y левого верхнего угла квадрата.

Вторые два аргумента в квадратных скобочках координаты x, y правого нижнего угла квадрата.

fill — цвет заливки овала.

Для отрисовки более сложных фигур треугольников, многоугольников, многогранников.

Мы можем воспользоваться методом create_polygon().

Нарисовать треугольник в tkinter

Здесь мы нарисовали треугольник. В качестве параметров данный метод принимает пары значений координат точек которые последовательно между собой соединяются прямыми.

Точек в разных координатах можно создавать сколько угодно. В результате можно нарисовать фигуру практически любой сложности. Свойство fill отвечает за цвет заливки фигуры, а outline за ее контур. Заметьте мы указали цвет заливки точно такой же как и цвет холста и в результате у нас получился эффект не закрашенной фигуры.

И напоследок рассмотрим отрисовку текста в canvas.

Нарисовать треугольник в tkinter

За отрисовку текста в canvas отвечает метод create_text(). В него передаются следующие параметры:

Первые два параметра координаты x, y расположения текста на холсте.

text — текст который мы хотим нарисовать

font — шрифт и размер текста

justify — выравнивание текста(слева, справа, по центру)

fill — цвет текста

Весь написанный за сегодня код выглядит так:

Отлично! Сегодня мы с вами познакомились с основами рисования canvas библиотеки tkinter.

Если у вас появились какие либо вопросы пишите в группу

или оставляйте их в комментариях к данной статье.

Также у меня есть канал на

где я каждую неделю публикую новые видео посвященные веб разработке. Так что переходите и будем развиваться вместе.

На этом у меня на сегодня все. Желаю вам успехов и удачи! Пока!

Оцените статью:

Статьи

Комментарии

Внимание. Комментарий теперь перед публикацией проходит модерацию

Евгений

Не подскажите как повернуть текст на 90 градусов чтобы подписать ось Y

Нарисовать треугольник в tkinter

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm

Видео:Уроки Python / Рисуем с помощью черепашки / Подключение модуля turtleСкачать

Уроки Python / Рисуем с помощью черепашки / Подключение модуля turtle

Рисуем фигуры в Tkinter — тренируемся на котиках

Видео:Рисуем квадрат круг и треугольник в Python TurtleСкачать

Рисуем квадрат круг и треугольник в 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

Превратим прямоугольник, созданный в предыдущем примере, в элемент мыслевыражения! Напишем на нем гениальную кошачью мысль вида: ‘МУР-МЯУ’ так, чтобы эта мысль располагалась прямо по центру прямоугольника. Для этого нам нужно указать:

  1. Координату центральной точки надписи, у меня это координата 247,348
  2. Подготовить текст надписи, он готов: ‘МУР-МЯУ’. Текст записывает в параметре text: text=’МУР-МЯУ’
  3. При желании добавить шрифт и размер: 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Скачать

Рисование turtle на  холсте tkinter в python

#Изи TKINTER за 5 минутСкачать

#Изи TKINTER за 5 минут

Уроки Python / Модуль tkinter (рисование линий, прямоугольников)Скачать

Уроки Python / Модуль tkinter (рисование линий, прямоугольников)

Уроки Python / Модуль tkinter дуги и полигоныСкачать

Уроки Python / Модуль tkinter дуги и полигоны

Python program to show color chooser using Tkinter.Скачать

Python program to show color chooser using Tkinter.

Уроки Python / Модуль tkinter (работа с картинками)Скачать

Уроки Python / Модуль tkinter (работа с картинками)

Стили в tkinter ttk python (питон) | Уроки по tkinter №8Скачать

Стили в tkinter ttk python (питон) | Уроки по tkinter №8

Пишем Paint на Python tkinterСкачать

Пишем Paint на Python tkinter

15. Рисуем простые фигуры с помощью черепашки (Turtle). Основы PythonСкачать

15. Рисуем простые фигуры с помощью черепашки (Turtle). Основы Python

Рисуем треугольник и квадрат задавая количество углов на PythonСкачать

Рисуем треугольник и квадрат задавая количество углов на Python

Heart Shape Pattern Turtle Graphics Design using Python 🤔 #coding #python #turtle #programming #codeСкачать

Heart Shape Pattern Turtle Graphics Design using Python 🤔 #coding #python #turtle #programming #code

Создание треугольника в CANVASСкачать

Создание треугольника в CANVAS

Решение простых задач на python | Рисуем ёлочку tkinterСкачать

Решение простых задач на python | Рисуем ёлочку tkinter
Поделиться или сохранить к себе: