I'm just learning Python in school and we were suppose to draw something (code it in gedit for python) on canvas (Tkinter). Instead of getting something drawn up I only get an empty canvas. It looks like this on my computer. The code is correct as I copied it from another web page.

from Tkinter import *

master=Tk()

w=Canvas(master, width=200, height=100)
w.pack

w.create_line(0,0,200,100)
w.create_line(0,100,200,0, fill="red", dash=(4,4))

w.create_rectangle(50,25,150,75, fill="blue")

mainloop()
有帮助吗?

解决方案

Actually, the code is not correct. The person who wrote it forgot to actually call the pack method. You need to add () after it to do this:

from Tkinter import *

master=Tk()

w=Canvas(master, width=200, height=100)
########
w.pack()
########

w.create_line(0,0,200,100)
w.create_line(0,100,200,0, fill="red", dash=(4,4))

w.create_rectangle(50,25,150,75, fill="blue")

mainloop()

Otherwise, the canvas will never be placed on the window.

P.S. You should note that not everything you find on the Web is guaranteed to be correct. :)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top