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()と、「OK」ボタンをクリックするとこのエラーが発生し、ボタンのあるウィンドウが閉じません。

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

IDLEでTkinterのものを実行している場合は、に置き換えcommand = sys.exitてみてくださいcommand = win.destroy。このようにしてウィジェットは破壊されますが、IDLE自体を台無しにすることはありません。これはTkinterの実行にも依存します。

これらの議論も関連しています:

于 2013-01-30T17:48:44.453 に答える
0

コードを python ファイルにコピーして貼り付け、Windows 7 のコマンド プロンプトから実行したところ、問題なく動作しました。Tkinter のインストールに問題があるのではないでしょうか?

ちなみに、「mainloop」行は必須です。大まかに説明すると、それが UI を画面に描画し続けるものです。

于 2013-01-30T17:32:50.503 に答える