为什么我的画布窗口不显示我创建的移动多边形?

问题描述

代码尝试在画布上移动一个三角形。

import time
from tkinter import *
tk = Tk()
canvas = Canvas(tk,width=500,height=400)
canvas.pack
canvas.create_polygon(10,10,60,50,35)
for x in range(0,60):
    canvas.move(1,5,0)
    tk.update()
    time.sleep(0.05)

不幸的是,每当我运行该程序时,它都会拉出画布窗口,但根本不显示三角形。我正在使用3.7版。
代码有什么问题?

解决方法

canvas.pack应该是canvas.pack()。画布永远不会显示。

,

@ acw1668指出,您的错误是忘记调用 dbService: When database returns a record ✓ Should have expected value ✓ should return error 2 passing (26ms) --------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --------------|---------|----------|---------|---------|------------------- All files | 100 | 100 | 100 | 100 | dbService.js | 100 | 100 | 100 | 100 | --------------|---------|----------|---------|---------|------------------- 小部件的()方法(使用pack)。

但是,您的代码中还有更多要解决的问题:

    GUI中的
  • canvas使其无响应;请勿这样做,请改用time.sleep
  • 使用tk.after来命名您的tk是一个非常糟糕的主意,尤其是对于其他会读取您的代码的人。
  • 不建议导入星级。
  • 当主循环可以自动运行GUI时,也不建议使用root

下面是避免上述几点的示例:

tk.update