1

私は 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でファイルダイアログを開く最も便利な方法は何ですか?

4

0 に答える 0