選択したフォルダのディレクトリパスを取得してLineEditで設定する方法についてアドバイスが必要です。PyQt5フォルダディレクトリを取得してラインエディットで設定する
私はツールボタン(赤い円の内側のボタン)をクリックした場合、ダイアログウィンドウがポップアップします以下のような簡単なGUI
を持っています。次に、目的のフォルダを選択するために移動できます。私は、ユーザーがフォルダの選択をクリックすると、ボタンの隣にある行の編集ボックスに、選択したフォルダへのパス(文字列内)を渡すことができたらと思います。しかし、私はそれを行う方法を理解できませんでした。これまでのところ、ここに私のコードです:_open_file_dialog機能でプリントを含めること
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_TestQFileDialog(object):
def _open_file_dialog(self): # a function to open the dialog window
result = str(QtWidgets.QFileDialog.getExistingDirectory())
print(result)
return result
def setupUi(self, TestQFileDialog):
TestQFileDialog.setObjectName("TestQFileDialog")
TestQFileDialog.resize(240, 320)
self.toolButtonOpenDialog = QtWidgets.QToolButton(TestQFileDialog)
self.toolButtonOpenDialog.setGeometry(QtCore.QRect(210, 10, 25, 19))
self.toolButtonOpenDialog.setObjectName("toolButtonOpenDialog")
directory = self.toolButtonOpenDialog.clicked.connect(self._open_file_dialog)
self.lineEdit = QtWidgets.QLineEdit(TestQFileDialog)
self.lineEdit.setEnabled(False)
self.lineEdit.setGeometry(QtCore.QRect(10, 10, 191, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit.setText('{}'.format(directory))
self.retranslateUi(TestQFileDialog)
QtCore.QMetaObject.connectSlotsByName(TestQFileDialog)
def retranslateUi(self, TestQFileDialog):
_translate = QtCore.QCoreApplication.translate
TestQFileDialog.setWindowTitle(_translate("TestQFileDialog", "Dialog"))
self.toolButtonOpenDialog.setText(_translate("TestQFileDialog", "..."))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
TestQFileDialog = QtWidgets.QDialog()
ui = Ui_TestQFileDialog()
ui.setupUi(TestQFileDialog)
TestQFileDialog.show()
sys.exit(app.exec_())
を試みたが、それはディレクトリパスを印刷。しかし、それは返されず、ディレクトリ変数に保持されていました。
アドバイスをいただければ幸いです。
おかげに関しては、
アーノルド