问题描述
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