from turtle import *
# --- 1. НАСТРОЙКА ОКНА И ЧЕРЕПАШКИ (без слова screen) ---
setup(width=800, height=600)
title("Пример оформления: Рисовалка")
bgcolor("#dce8d4") # Светло-зеленый фон, как на картинке
t = Turtle()
t.hideturtle() # Скрываем саму черепашку, будем рисовать только интерфейс
t.speed(0) # Максимальная скорость отрисовки интерфейса
t.penup()
# --- 2. ФУНКЦИИ ДЛЯ РИСОВАНИЯ ЭЛЕМЕНТОВ ---
def move(x, y):
"""Перемещение пера без рисования"""
t.penup()
t.goto(x, y)
t.pendown()
def draw_rect(x, y, width, height, color):
"""Рисует прямоугольник"""
move(x, y)
t.color(color)
t.begin_fill()
for _ in range(2):
t.forward(width)
t.left(90)
t.forward(height)
t.left(90)
t.end_fill()
def draw_text(x, y, text, size=12, color="black"):
"""Пишет текст в нужном месте"""
move(x, y)
t.color(color)
t.write(text, align="left", font=("Arial", size, "normal"))
def draw_circle(x, y, radius, color):
"""Рисует круг (для кнопок ширины пера)"""
move(x, y - radius)
t.color(color)
t.begin_fill()
t.circle(radius)
t.end_fill()
# --- 3. РИСУЕМ ИНТЕРФЕЙС (слева направо) ---
# 3.1. Текст слева: "Возможность выбирать цветовую тему"
draw_text(-350, 20, "Возможность", 16)
draw_text(-350, -5, "выбирать", 16)
draw_text(-350, -30, "цветовую тему", 16)
# 3.2. Центральный блок (Сам холст для рисования)
# Рисуем рамку холста
move(-150, 180)
t.color("#888888")
t.pensize(1)
for _ in range(2):
t.forward(300)
t.right(90)
t.forward(350)
t.right(90)
# Пояснение сверху (как на картинке)
draw_text(-150, 200, "Перемещение вверх, вниз, вправо, влево с помощью стрелок", 9, "#555555")
# 3.3. Палитра цветов (Над холстом)
colors = ["#d05a38", "#d99d3d", "#d6c24d", "#8ca348", "#7ba87a", "#8b6d82", "#a36173"]
letters = ["R", "O", "Y", "G", "L", "B", "V"]
start_x = -130
for i in range(len(colors)):
draw_rect(start_x + (i * 25), 170, 20, 20, colors[i])
draw_text(start_x + (i * 25) + 5, 150, letters[i], 8, "#555555")
# Подпись "Фон" и переключатель
draw_text(-150, 110, "Фон", 9, "#555555")
draw_rect(-150, 80, 25, 25, "#6b4c3a")
draw_text(-150, 60, "D", 10, "#555555")
# 3.4. Блок справа: "Возможность изменять ширину пера"
draw_text(180, 30, "Возможность", 14)
draw_text(180, 5, "изменять", 14)
draw_text(180, -20, "ширину пера", 14)
# Рисуем шкалу с кружками (Ширина пера)
pen_widths = [2, 4, 6, 9, 12]
start_y = 60
for i in range(len(pen_widths)):
radius = pen_widths[i]
draw_circle(280, start_y - (i * 35), radius, "#555555")
draw_text(310, start_y - (i * 35) - 5, str(i + 1), 10, "#555555")
# --- 4. ЗАВЕРШЕНИЕ ---
# Оставляем окно открытым (вместо screen.mainloop())
done()