在空闲状态下工作,Tkinter窗口不工作';没有mainloop()时无法打开,但有错误

在空闲状态下工作,Tkinter窗口不工作';没有mainloop()时无法打开,但有错误,tkinter,python-idle,Tkinter,Python Idle,我对制作GUI很陌生。我在空闲状态(2.7.3)下工作,想用一个按钮打开一个简单的窗口。这是我的密码: from Tkinter import * import sys win=Tk() button1=Button(win, text = "ok", command = sys.exit, foreground = "red") button1.pack() mainloop() 如果我不使用mainloop()窗口将不会打开。如果我确实使用了mainloop()当我单击“确定”按钮时会出现

我对制作GUI很陌生。我在空闲状态(2.7.3)下工作,想用一个按钮打开一个简单的窗口。这是我的密码:

from Tkinter import *
import sys
win=Tk()
button1=Button(win, text = "ok", command = sys.exit, foreground = "red")
button1.pack()
mainloop()
如果我不使用
mainloop()
窗口将不会打开。如果我确实使用了
mainloop()
当我单击“确定”按钮时会出现此错误,并且带有该按钮的窗口不会关闭:

Traceback (most recent call last):
  File "C:\Python27\GUI.py", line 6, in <module>
    mainloop()
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 325, in mainloop
    _default_root.tk.mainloop(n)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1412, in __call__
    raise SystemExit, msg
回溯(最近一次呼叫最后一次):
文件“C:\Python27\GUI.py”,第6行,在
mainloop()
文件“C:\Python27\lib\lib tk\Tkinter.py”,第325行,在mainloop中
_默认_root.tk.mainloop(n)
文件“C:\Python27\lib\lib tk\Tkinter.py”,第1412行,在调用中__
升起系统退出,msg

我将您的代码复制粘贴到一个python文件中,并在Windows 7的命令提示符下运行它,效果很好。也许是Tkinter安装有问题


顺便说一下,“mainloop”行是强制性的。粗略地解释一下,这就是将UI吸引到屏幕上的原因。

如果您在空闲状态下运行Tkinter stuff,请尝试将
command=sys.exit
替换为
command=win.destroy
。这样你的小部件就会被破坏,但你不会把空闲本身搞得一团糟,这也取决于Tkinter的运行

这些讨论也具有相关性:


是的,对我来说运行也很好。啊,当然,它确实给出了空闲时的错误。IDLE是Tkinter应用程序本身,可能会带来麻烦。我刚刚尝试了2.7.8和3.4.2中发布的代码,区别在于回溯被抑制,但tk窗口仍然存在。Junuxx是正确的(Tk实例)。destroy是正确的回调。