前提・実現したいこと
現在、Tkinterでファイル参照ができるGUIアプリを作成しています。
このサイトを参考にしているのですが、なぜかエラーが発生してしまいます。
OSは、 macOS High Sierra 10.13.6
開発環境は、 Python3.6.2(Anaconda3-5.0.0)
を使用しています
Tkinterは、最近勉強し始めたばかりなので、全然わかりません。
よろしくお願いします。
発生している問題・エラーメッセージ
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'File types array cannot be empty' *** First throw call stack: ( 0 CoreFoundation 0x00007fff2a8482db __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff519ebc76 objc_exception_throw + 48 2 CoreFoundation 0x00007fff2a8d9d7d +[NSException raise:format:] + 205 3 AppKit 0x00007fff2845b6e1 -[NSSavePanel setAllowedFileTypes:] + 154 4 libtk8.6.dylib 0x00000001098119f5 Tk_GetOpenFileObjCmd + 1941 5 libtcl8.6.dylib 0x00000001095c2616 Tcl_EvalObjv + 342 6 _tkinter.cpython-36m-darwin.so 0x000000010706d5d2 Tkapp_Call + 210 7 python 0x00000001065b5ea2 PyCFunction_Call + 66 8 python 0x000000010668c046 _PyEval_EvalFrameDefault + 49702 9 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 10 python 0x000000010668dcec fast_function + 348 11 python 0x000000010668d8de call_function + 222 12 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 13 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 14 python 0x000000010668dcec fast_function + 348 15 python 0x000000010668d8de call_function + 222 16 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 17 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 18 python 0x0000000106679469 builtin_exec + 345 19 python 0x00000001065b64b8 _PyCFunction_FastCallDict + 200 20 python 0x000000010668d892 call_function + 146 21 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 22 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 23 python 0x000000010668dcec fast_function + 348 24 python 0x000000010668d8de call_function + 222 25 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 26 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 27 python 0x000000010668dcec fast_function + 348 28 python 0x000000010668d8de call_function + 222 29 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 30 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 31 python 0x000000010668dcec fast_function + 348 32 python 0x000000010668d8de call_function + 222 33 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 34 python 0x000000010668dc4f fast_function + 191 35 python 0x000000010668d8de call_function + 222 36 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 37 python 0x000000010668dc4f fast_function + 191 38 python 0x000000010668d8de call_function + 222 39 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 40 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 41 python 0x000000010657edf6 function_call + 118 42 python 0x000000010653bcde PyObject_Call + 62 43 python 0x000000010668b781 _PyEval_EvalFrameDefault + 47457 44 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 45 python 0x000000010668dcec fast_function + 348 46 python 0x000000010668d8de call_function + 222 47 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 48 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 49 python 0x000000010668dcec fast_function + 348 50 python 0x000000010668d8de call_function + 222 51 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 52 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 53 python 0x000000010668e433 _PyFunction_FastCallDict + 355 54 python 0x00000001065346b0 _PyObject_FastCallDict + 320 55 python 0x000000010655b9d8 method_call + 136 56 python 0x000000010653bcde PyObject_Call + 62 57 python 0x000000010668b781 _PyEval_EvalFrameDefault + 47457 58 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 59 python 0x000000010668dcec fast_function + 348 60 python 0x000000010668d8de call_function + 222 61 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 62 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 63 python 0x00000001066d7e1c PyRun_FileExFlags + 252 64 python 0x00000001066d75ce PyRun_SimpleFileExFlags + 366 65 python 0x00000001066fd456 Py_Main + 3718 66 python 0x000000010652c68d main + 509 67 libdyld.dylib 0x00007fff52605015 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException Abort trap: 6
該当のソースコード
python
1# モジュールのインポート 2import os, tkinter, tkinter.filedialog, tkinter.messagebox 3 4# ファイル選択ダイアログの表示 5root = tkinter.Tk() 6root.withdraw() 7fTyp = [("","*")] 8iDir = os.path.abspath(os.path.dirname(__file__)) 9tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!') 10file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) 11 12# 処理ファイル名の出力 13tkinter.messagebox.showinfo('○×プログラム',file)
補足情報(FW/ツールのバージョンなど)
Tkinterのバージョン
>>> tkinter.TkVersion 8.6
回答1件
あなたの回答
tips
プレビュー