Никак не могу додуматься, может вы поможете люди добрые!)
Python:
# Контрольная работа студентки группы 20-ЗИЭ Трофимовой Т.Д.
# Дисциплина - Высокоуровневые технологии программирования
# Вариант № 2-26.
# Контрольная работа №2. Задача №3.
"""
На форме располагаются:
компонент Canvas размером 200х200, в левом верхнем углу которого находится рисунок размером 40х40;
редактор Text размером 5х5, в левом верхнем углу которого находится латинский символ а;
четыре кнопки со стрелками ↑, ↓, →, ←; две линейки Scale на пять положений.
Кнопки со стрелками синхронно перемещают символ в редакторе и рисунок в контейнере Canvas строго
по периметру, а линейки Scale показывают текущее положение фигур по горизонтали и вертикали.
Закрывает приложение двойной клик по форме.
"""
"""
Кнопки со стрелками синхронно перемещают символ в редакторе и рисунок в контейнере Canvas строго
по периметру, а линейки Scale показывают текущее положение фигур по горизонтали и вертикали.
Закрывает приложение двойной клик по форме.
"""
import sys
from tkinter import *
from turtle import width
from PIL import Image, ImageTk
#Начальные координаты по X и Y
dx = 10
dy = 10
ix = 30
iy = 30
#Компонент Canvas
def elementCanvas():
global elCanvas
elCanvas = Canvas(
root,
width=200,
height=200,
bg='white')
elCanvas.place(x = dx, y = dy+10)
elCanvas.pack()
#Изображение
def elementImage():
global image
global item
image = ImageTk.PhotoImage(Image.open("cat(4040).jpg"))
item = elCanvas.create_image(ix, iy, image = image)
def left():
elCanvas.move(item,-145,0)
def right():
elCanvas.move(item,145,0)
elText.mark_set("insert", 4.0, (1,0))
def up():
elCanvas.move(item,0,-145)
def down():
elCanvas.move(item,0,145)
#Редактор Text
def elementText():
global elText, TextX, TextY
TextX = dx * 6
TextY = dy * 2
elText = Text(width=5, height=5, bg="White", fg='black')
elText.place(x=29*dx,y=dy)
elText.insert(1.0, "a")
#Кнопки со стрелками
def leftButton():
global leftButton, DeltaTextX, DeltaTextY
DeltaTextX = TextX
DeltaTextY = TextY
leftButton=Button(text="←", bg="white", fg="black", justify="center", width=1, height=1,command=left)
leftButton.place(x=10, y=237)
def upButton():
global upButton
upButton=Button(text="↑", bg="white", fg="black", justify="center", width=1, height=1,command=up)
upButton.place(x=35, y=220)
def rightButton():
global rightButton
rightButton=Button(text="→", bg="white", fg="black", justify="center", width=1, height=1,command=right)
rightButton.place(x=60, y=237)
def downButton():
global downButton
downButton=Button(text="↓", bg="white", fg="black", justify="center", width=1, height=1,command=down)
downButton.place(x=35, y=255)
#Линейки Scale
#Горизонатльная линейка Scale
def elementScalehorizontal():
global elScalehorizontal
#Горизонатльная линейка Scale
elScalehorizontal = Scale(orient='horizontal',resolution=1, from_=0, to=4)
elScalehorizontal.place(x=dx*10, y=22*dy)
def oneposition ():
global onehor
elementScalehorizontal.get(item, -145, 0)
#Вертикальная линейка Scale
def elementScalevertical():
global elScalevertical
elScalevertical = Scale(orient='vertical',resolution=1, from_=0, to=4)
elScalevertical.place(x=29*dx, y=10*dy)
#Окно программы
def mainWindowProgram():
elementCanvas()
elementText()
leftButton()
upButton()
rightButton()
downButton()
elementScalehorizontal()
elementScalevertical()
#Вызов программы
def application():
global root
global event
root = Tk()
root.title("20-ЗИЭ Контрольная работа №2. Задание №3. Вариант 2-26. Трофимова Т.Д.")
root.geometry("350x350")
root.resizable(0,0)
mainWindowProgram()
elementImage()
elCanvas.bind('<Down>', down)
elCanvas.bind('<Right>', right)
elCanvas.bind('<Up>', up)
elCanvas.bind('<Left>',left)
"""root.bind("<Double-Button-1>", lambda CloseWindowProgram: root.destroy())"""
root.mainloop()
application()