現在、Ubuntuのクイックリストエディターでtkinter
'sを使用して、ファイルの名前と場所を取得しています。askopenfilename
正常に動作しますが、ルックアンドフィールはネイティブではありません。
ファイルの名前と場所をナビゲートして取得するための簡単な代替ダイアログウィンドウはありますか?
現在、Ubuntuのクイックリストエディターでtkinter
'sを使用して、ファイルの名前と場所を取得しています。askopenfilename
正常に動作しますが、ルックアンドフィールはネイティブではありません。
ファイルの名前と場所をナビゲートして取得するための簡単な代替ダイアログウィンドウはありますか?
wxPythonFileDialogで試すことができます。
>>> import wx
>>> d = wx.FileDialog(None)
>>> d.ShowModal()
5101
>>>
よりOS固有の外観を提供します
wxPythonはPhoenixプロジェクトとしてすぐにpy3kに到着し、WindowsとMacのスナップショットがすでにあります(以下の私のコメントを参照)。より安定したものが必要な場合は、pyQtを使用できますQtGui.QFileDialog
。
import sys
from PyQt4 import QtGui
class Dialog(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
filename = QtGui.QFileDialog.getOpenFileName()
print filename
app = QtGui.QApplication(sys.argv)
dialog = Dialog()
ここに、より完全な例があります。
Zenityの[ファイル選択]ダイアログは、オプションを備えた簡単でネイティブに見えるソリューションを提供し--file-selection
ます。ダイアログにはいくつかのオプションがあります。
Zenityのマニュアルページも参照してください。
最も単純な形式:
#!/usr/bin/env python3
import subprocess
try:
file = subprocess.check_output(["zenity", "--file-selection"]).decode("utf-8").strip()
print(file)
except subprocess.CalledProcessError:
pass
もう1つのオプションは、 GtkのFileChooserDialogです。これは、予想どおり、完全にネイティブに見えるファイルチューザーダイアログウィンドウを生成します。