在 python IDLE Shell 中使用 tkinter 获取无效语法错误
Getting an Invalid Syntax error using tkinter in python IDLE Shell
这是代码,请帮忙
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35)
1
def movetriangle(event):
canvas.move(1, 5, 0)
Canvas.bind_all('<KeyPress-Return>', movetriangle)
SyntaxError: invalid syntax
它将 Canvas.bind_all 中的 C 突出显示为无效语法。我试图在按下回车键时让三角形移动。任何帮助或替代代码将不胜感激。我猜想 Canvas.bind_all 需要修改代码才能工作,或者需要导入一些东西才能工作。
您正在使用 class 名称 Canvas 而不是变量名称 canvas。
此外,您必须调用 tk.mainloop() 才能实际执行您的操作。
所以试试这个:
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35)
def movetriangle(event):
canvas.move(1, 5, 0)
canvas.bind_all('<KeyPress-Return>', movetriangle)
tk.mainloop()
这是代码,请帮忙
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35)
1
def movetriangle(event):
canvas.move(1, 5, 0)
Canvas.bind_all('<KeyPress-Return>', movetriangle)
SyntaxError: invalid syntax
它将 Canvas.bind_all 中的 C 突出显示为无效语法。我试图在按下回车键时让三角形移动。任何帮助或替代代码将不胜感激。我猜想 Canvas.bind_all 需要修改代码才能工作,或者需要导入一些东西才能工作。
您正在使用 class 名称 Canvas 而不是变量名称 canvas。 此外,您必须调用 tk.mainloop() 才能实际执行您的操作。 所以试试这个:
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35)
def movetriangle(event):
canvas.move(1, 5, 0)
canvas.bind_all('<KeyPress-Return>', movetriangle)
tk.mainloop()