如何在画布上画线?

mon*_*334 1 python tkinter python-3.x python-3.3

我在互联网上阅读了一些教程,但我似乎无法找到任何能告诉我如何划线的内容

有人可以帮忙吗?

我试过了

p = Canvas(height = 600, width = 800).place(x=0,y=0)
p.create_rectangle(50, 25, 150, 75, fill="blue")
Run Code Online (Sandbox Code Playgroud)

并且,不幸的是,它没有用.

tob*_*s_k 5

不完全确定你在问什么,因为你既没有向我们展示你的完整代码,也没有说明究竟什么"不起作用".看来你已经找到了如何绘制一个矩形,同样的教程也应该有关于绘制线的东西,比如评论中链接的那些.

由于这似乎没有帮助你,可能问题是你正在使用Python 3,其中Tkinter包被重命名为tkinter.这个例子适合你:

import tkinter

root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()

for i in range(10):
    canvas.create_line(50 * i, 0, 50 * i, 400)
    canvas.create_line(0, 50 * i, 400, 50 * i)
canvas.create_rectangle(100, 100, 200, 200, fill="blue")
canvas.create_line(50, 100, 250, 200, fill="red", width=10)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

附录: 我刚刚注意到您的代码存在两个实际问题:

  • 通过这样做p = Canvas(height = 600, width = 800).place(x=0,y=0),变量p不会被分配Canvas,而是返回值place,即None.
  • 此外,构造函数应该包含要添加Canvas到的父元素(root在我的示例中).

这是对所有Tkinter的详细介绍,特别是Canvas元素.