如何暂停' Tkinter mainloop()?

时间:2015-12-05 05:07:13

标签: python tkinter python-idle tkinter-canvas

我有一个简单的程序:

我有一个Tk画布小部件,并希望在我输入命令时更新它。但是由于事件循环已经运行,我如何告诉它暂停,处理我的命令和恢复,现在绘制我的画布的更新版本?

from tkinter import *
root=Tk()

class App:
    def __init__(self):
        self.canvas = Canvas(root, width=200, height=200)
        self.canvas.pack()
        self.oval = canvas.create_oval(20,20,40,40)

    def changeoval(self):
        self.canvas.destroy(self.oval)
        self.oval = canvas.create_oval(40,40,60,60)


window = App()
mainloop()

.
.
.

window.changeoval()

我的意思是"输入命令"是IDLE shell。您可以在那里运行程序并与之交互。我将在IDLE中运行上面的代码而没有window.changeoval(),然后在shell中输入window.changeoval(),我希望它用新定位的椭圆更新我的画布。

0 个答案:

没有答案