python tkinter 不显示窗口

fromtkinterimport*defmain():tk=Tk()canvas=Canvas(tk,width=400,height=400)canvas.pack(... from tkinter import *

def main():
tk = Tk()
canvas = Canvas(tk, width = 400, height = 400)
canvas.pack()
def moverectangle(event):
if event.keysym == 'Up':
canvas.move(1, 0, -5)
elif event.keysym == 'Down':
canvas.move(1, 0, 5)
elif event.keysym == 'Left':
canvas.move(1, -5, 0)
elif event.keysym == 'Right':
canvas.move(1, 5, 0)

canvas.create_rectangle(10, 10, 50, 50, fill = 'red')
canvas.bind_all('<KeyPress-Up>', moverectangle)
canvas.bind_all('<KeyPress-Down>', moverectangle)
canvas.bind_all('<KeyPress-Left>', moverectangle)
canvas.bind_all('<KeyPress-Right>', moverectangle)

if __name__ == '__main__':
main()
展开
 我来答
albumin
2017-05-29 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2430万
展开全部
main函数第一行加上
global tk,canvas
tk,canvas必须是全局变量 ,在函数外才能使用,
然后在main函数最后加一行
tk.mainloop()
只有调用Tk对象的mainloop方法才能显示窗口
追问
额 窗口出来了 可是创建的长方形不见了。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式