0

我对制作 GUI 很陌生。我在 IDLE (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
4

2 回答 2

0

我将您的代码复制粘贴到 python 文件中,并在 Windows 7 上从命令提示符运行它,它运行良好。也许这是您的 Tkinter 安装的问题?

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

于 2013-01-30T17:32:50.503 回答
0

如果您在 IDLE 中运行 Tkinter 的东西,请尝试command = sys.exitcommand = win.destroy. 这样你的小部件就会被破坏,但你不会弄乱 IDLE 本身,这也取决于 Tkinter 的运行。

这些讨论也很重要:

于 2013-01-30T17:48:44.453 回答