私は Excel アドオンをプログラミングしており、メイン ウィンドウとすべての光沢のあるウィジェット/ツールキットは必要ありませんが、ダイアログが必要です。
これが私の作成の試みです(pywin32を使用):
import win32ui, win32con
def openFileDialog(extensions = None, multi = False):
"""open a Windows File 'Open' Dialog. returns a list of path of files selected by user.
Keyword arguments:
extensions (default None) - a list or tuple containing (description, ext)
pair of acceptable files.
ext can be a string - i.e) '*.txt', or a list or tuple of many strings ['*.txt', '*.htm']
description is a string describing corresponding ext.
multi - (default False) True to allow user to select more than one files.
"""
openFlags = win32con.OFN_OVERWRITEPROMPT|win32con.OFN_FILEMUSTEXIST
if multi:
openFlags|=win32con.OFN_ALLOWMULTISELECT
dlg = win32ui.CreateFileDialog(1,
None,
None,
openFlags,
extensionFilterString(extensions))
if dlg.DoModal()!=win32con.IDOK:
return None
return dlg.GetPathNames()
それらは機能しますが、それは本当にPythonicではないと思います。私はpysideを見ましたが、彼らは持っていますQFileDialog
-しかし、それはメインループを引き継ぐ必要がQApplication
あり、そのようです。Qapplication
私はすべての手間が必要だとは思いませんし、Python GUI プログラミングについて本当に知りません。Pythonでファイルダイアログを開く最も便利な方法は何ですか?