Я работаю над проектом Lego Mindstorms, где мы создаем графический интерфейс, который можно использовать для управления роботом. Мне нужно сделать, чтобы создать что-то, что показывает позицию роботов после каждого хода. Я использую холст, где я рисую прямоугольник, а затем точку, которая показывает текущую позицию робота. У меня есть целая куча кода, но я просто показываю вам небольшую часть, относящуюся к моей проблеме.Tkinter GUI canvas
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text="Move", command=lambda: do_move())
self.button.pack(side=TOP)
self.canvas = Canvas(master, width=300, height=450)
self.canvas.place(x=250, y=550)
self.canvas.create_rectangle(0, 0, 300, 450, fill="white")
self.canvas.create_oval(150, 300, 160, 310, fill="blue", tags="Position")
x, y = self.canvas.coords("Position")
x = int(x)
y = int(y)
x2 = self.canvas.canvasx(self.x)
y2 = self.canvas.canvasy(self.y)
x2 = int(x2)
y2 = int(y2)
def move_forward():
self.canvas.move(Position, x2, y2)
def move_backwards():
self.canvas.move(Position, ,)
root = Tk()
app = App(root)
root.title("Mindstorms GUI")
root.geometry("800x1200")
root.mainloop()
root.destroy()
Для функции перемещения, что у меня есть кнопка для, я выбираю значение, и это значение будет двигаться робота вперед/назад. Когда робот переместился, я хочу также перенести свой синий круг на мой холст. X и Y - координаты текущей позиции кругов, а остальные около X2 и Y2 берутся с другого сайта. Я не совсем уверен, зачем вам писать x = int (x), и я действительно не понимаю части для X2 и Y2. Любые объяснения и предложения о том, как я могу написать остальную часть моего кода?
Первая новая функция, которую я определяю в конце, будет использоваться с моей кнопкой перемещения, так что у меня есть две команды для кнопки. Когда я нажимаю кнопку, окружность Position также будет перемещена в новые координаты. Мне также нужно будет написать где-нибудь, что конкретное значение единицы, которое я использую для моей функции перемещения, равно, например, перемещению 5 координат в моем холсте. Любые советы о том, как это сделать?
Надеюсь, вы понимаете задачу и мои формулировки. Любая помощь приветствуется!