как иметь диалог каталога

Как в PyQt отобразить файловый браузер, который показывает и выбирает только каталоги (а не файлы)?

И как получить имя выбранного каталога?


person Moayyad Yaghi    schedule 26.11.2010    source источник


Ответы (2)


Изнутри вашего класса QDialog/QWidget вы сможете сделать:

file = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
person TZHX    schedule 26.11.2010
comment
из PyQt5.QtWidgets импортировать QFileDialog - person boudewijn21; 23.10.2018
comment
я твой родитель QWidget - person fivef; 25.07.2019
comment
из PySide2.QtWidgets импортировать QFileDialog - person Metehan Gülaç; 17.04.2020
comment
Если вышеперечисленное не работает для вас. Это проблема с вашим виджетом. передайте None вместо self и будет работать вот так: folder = str(QFileDialog.getExistingDirectory(None, "Select Directory")) - person Mujeeb Ishaque; 04.08.2020

Вот так просто:

folderpath = QtWidgets.QFileDialog.getExistingDirectory(self, 'Select Folder')

Здесь self представляет родительское окно, обычно объект QMainWindow.

Аналогично для диалогового окна «Файл»:

filepath = QtWidgets.QFileDialog.getOpenFileName(self, 'Hey! Select a File')
person Ali Sajjad    schedule 13.02.2021
comment
проголосовал!!! очень хорошо объяснил и по сравнению с QtWidgets.QFileDialog.getOpenFileName(self, 'Hey! Select a File') - person Ice Bear; 07.05.2021