3

この質問への回答として見つけた次の関数を使用して、ファイル選択用のダイアログ ウィンドウを表示しています。

[編集:ここでのディストリビューションの違いは、Matplotlib が Fedora で gtk3agg を使用し、各システムでウィンドウの描画に TkAgg を使用しているためであることが判明しました]

Fedora 18 の場合:すべて正常に動作します。

Ubuntu 12.10 の場合:ファイル ダイアログの後に表示される Figure を閉じると、Matplotlib がハングします。たとえば、以下のコードでは、Ubuntu では「できた」行にたどり着けません。何も起こりませんが、端末に入力することはできます。ファイル ダイアログを削除すると、Matplotlib の図は期待どおりに機能します。

import Tkinter, tkFileDialog
import pylab

def ask_for_config_file():

    print "Please provide location of configuration file."

    root = Tkinter.Tk()
    root.withdraw()
    file_path = tkFileDialog.askopenfilename()

    return file_path


def main():

    config_file_path = ask_for_config_file()

    pylab.figure()
    pylab.show()

    print "Made it."

助言がありますか?

4

1 に答える 1

3

root.destroy()ダイアログ関数の最後に が必要でした!

于 2013-07-03T09:18:31.493 に答える