0

インタープリターに次のように入力すると、魅力的に機能します。

from Tkinter import Tk
from tkFileDialog import askopenfilename

Tk().withdraw()
fh = open(askopenfilename(), 'r') 

ただし、まったく同じコマンドでスクリプトを作成/保存/実行すると、動作しますが (予想どおり)、開いているウィンドウが空白になり、(選択したファイルを開いた後) 画面に残り、すべての上にとどまります。

その結果、ウィンドウを閉じるには Python アイコンをもう一度クリックする必要があります。ある時点でこれは発生しなくなりましたが、Tk().withdraw()コマンドなしでスクリプトを 1 回実行すると、問題が再発しました。

OSX Mavericks を実行しています。バグを修正する方法がない場合、このウィンドウを閉じるために実装できる Python のコマンドはありますか?

4

1 に答える 1

2

この質問に対する受け入れられた回答を参照してくださいいつ Tkinter アプリケーションでメインループを呼び出す必要がありますか? . 通常Tk.mainloop()、Tk のイベント ループ処理を開始するには、呼び出す必要があります。しかし、対話型インタープリターで実行している場合、Python は Tk イベント プロセッサを呼び出します。そうしないと、対話型インタープリターで Tkinter を簡単に使用することができません。

于 2013-10-31T19:52:09.863 に答える