【发布时间】:2018-08-13 15:31:47
【问题描述】:
我正在尝试使用 tkinter 的按钮来控制另一个图形窗口中的海龟,但按钮不起作用
我试图使用海龟图形和 Tkinter 制作一个简单的程序,用按钮控制海龟。但是,似乎只有一个按钮实际上正在运行一个功能,即使这样也会产生错误。这是我写的代码:
from tkinter import *
import turtle
global x
global y
x = 1
y = 1
i = 0
root = Tk()
wn = turtle.Screen()
bob = turtle.Turtle()
bob.up()
def goUp(event):
y=y+5
bob.goto(x,y)
def goDown(event):
y=y-5
bob.goto(x,y)
def goRight(event):
x=x+5
bob.goto(x,y)
def goLeft(event):
x=x-5
bob.goto(x,y)
topFrame = Frame(root)
topFrame.pack()
middleFrame = Frame(root)
middleFrame.pack()
bottomFrame = Frame(root)
bottomFrame.pack()
button1 = Button(topFrame, text = "Up", fg="red")
button2 = Button(middleFrame, text = "Left", fg="red")
button3 = Button(middleFrame, text = "Right", fg="red")
button4 = Button(bottomFrame, text = "Down", fg="red")
button1.bind("<Button-1>", goUp)
button2.bind("<Button-2>", goLeft)
button3.bind("<Button-3>", goRight)
button4.bind("<Button-4>", goDown)
button1.pack()
button2.pack(side=LEFT)
button3.pack(side=RIGHT)
button4.pack()
root.mainloop()
【问题讨论】:
-
您知道
Button类接受command选项吗? -
我假设
"Up"命令在您将其绑定到"<Button-1>"时部分工作。除非您有四键鼠标,否则您也应该将其他命令绑定到"<Button-1>"。我相信他们最终都会因为滥用global关键字而失败。
标签: python tkinter turtle-graphics