我正在研究Lego Mindstorms項目,我們創建了一個可用於控制機器人的GUI。我需要做的是創建一些能夠在每次移動後顯示機器人位置的東西。我正在使用畫布繪製一個矩形,然後顯示一個顯示機器人當前位置的點。我有一大堆代碼,但我只是向你展示了一小部分與我的問題相關的代碼。Tkinter GUI畫布
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的部分。關於如何編寫剩餘代碼的任何解釋和建議?
我在最後定義的第一個新功能將與我的移動按鈕一起使用,以便我有兩個按鈕命令。當我點擊按鈕時,位置圓也將被移動到新的座標。我還需要寫一個地方,我的移動函數使用的單位的具體值等於例如在我的畫布中移動5個座標。有關如何做到這一點的任何提示?
我希望你能理解我的任務和我的配方。任何幫助表示讚賞!