ファイルを選択する必要のある部分を含むQT4(QTデザイナーを使用)ダイアログを作成したい。
これで、QFileDialogが存在することがわかったので、自分のやりたいことをプログラムすることができます。しかし、QTデザイナーでそれを行うこともできますか?
QTデザイナーで「ファイル選択」ウィジェットを取得する方法はありますか?または、これらのボタンを覚えています。選択したファイルをタイトルとして、ユーザーがQFileDialogで別のファイルを選択できる小さな矢印を持っていますか?
既製のソリューションはありますか、それとも自分でプログラムする必要がありますか?
私の知る限り、Qtデザイナーから利用できるファイルダイアログはありません。しかし、数行のコードで簡単に実行できます。
PushButtonと呼ばれる単純なボタンがあり、パスがlineEditに格納されていると仮定します。
def selectFile():
lineEdit.setText(QFileDialog.getOpenFileName())
pushButton.clicked.connect(selectFile)
[編集]でも、たまたまKDEを使用していますか?その場合、KUrlRequesterを使用できます。ファイルからURL、ディレクトリまで、あらゆるものをサポートするように簡単に構成できます。
QFileDialog
はQtGui
に存在します。少なくとも私のバージョン4.4では、おそらくもっと以前のバージョンでも。 Designerにない理由は、別のウィンドウに配置するウィジェットではなく、独自のウィンドウを開くためです。
QTDesignerからのドキュメントは、その存在の少なくともヒントとなる可能性があります。
それをインスタンス化し、show
コマンドを実行します。すぐに現れ、デフォルトは/
。
import QtGui
self.fileDialog = QtGui.QFileDialog(self)
self.fileDialog.show()
メソッドgetOpenFileName() in QFileDialog Classを使用できます。
QFileDialog.getOpenFileName()は、ファイルパスと選択したファイルタイプを返します
私はこれを手に入れました:( 'C:/Users/Sathsara/Desktop/UI/Test/test.py'、 'All Files(*)')
ファイルパスのみを取得するには、QFileDialog.getOpenFileName()[0]を使用します
サンプルコード:
def selectFile():
print(QFileDialog.getOpenFileName()[0])
dlg.locationBtn.clicked.connect(selectFile)