0

因此,我正在按照教程Intro to Tkinter 进行操作,并且在复制源代码时运行程序时它不起作用。我阅读了我的语法并搜索了视频上的评论,堆栈溢出,但我找不到解决方案。

import Tkinter
import turtle
import sys

def main():

root = Tkinter.Tk()

cv = Tkinter.Canvas(root, width = 600, height= 600)

cv.pack(side = Tkinter.LEFT)

root.title("Draw")

t = turtle.RawTurtle(cv)

screen = t.getscreen()

screen.setworldcoordinates(0,0,600,600)

frame = Tkinter.Frame(root)
frame.pack(side = Tkinter.RIGHT, fill = Tkinter.BOTH)

def quithandler():
    print 'Goodbye'
    sys.exit(0)

quitbutton = Tkinter.Button(frame, text='Quit', command = quithandler)
quitbutton.pack()


if __name__ == "__main__":
    main()

我也在 Windows 上运行 python 2.7。在这个程序中,退出按钮没有出现,并且画布在我运行它时没有立即响应。是什么导致它每次都这样做?

感谢您的任何帮助。

4

1 回答 1

2

正确缩进。+您未接root.mainloop()电话。

import Tkinter
import turtle
import sys

def main():
    root = Tkinter.Tk()
    cv = Tkinter.Canvas(root, width = 600, height= 600)
    cv.pack(side = Tkinter.LEFT)
    root.title("Draw")
    t = turtle.RawTurtle(cv)
    screen = t.getscreen()
    screen.setworldcoordinates(0,0,600,600)
    frame = Tkinter.Frame(root)
    frame.pack(side = Tkinter.RIGHT, fill = Tkinter.BOTH)
    quitbutton = Tkinter.Button(frame, text='Quit', command = quithandler)
    quitbutton.pack()
    root.mainloop()

def quithandler():
    print 'Goodbye'
    sys.exit(0)



if __name__ == "__main__":
    main()
于 2013-08-13T14:18:54.377 回答