Qt предоставляет набор статических методов для получения стандартизированных файловых диалогов, два из которых уже удовлетворяют ваши потребности: getOpenFileNames()
(ударение на последние "s") и getExistingDirectory()
.
Первый вернет список абсолютных путей выбранного файла [s], последний вернет выбранный каталог.
Я знаю, что чтение официальной документации может быть немного ошеломляющим, если вы ничего не знаете о C ++ (хотя они подробно объясняются ), но они не так сложны, как могли бы думаю.
Каждая функция перечислена очень простым способом:
returned_type : function_name(arguments) [const -> you can usually ignore this]
Возвращенный_тип - это тип значения, которое ожидается от функции. В «сленге c ++» void
- это то же самое, что и return
(или return None
или вообще никакого возврата, поскольку Python неявно возвращает None
, если никакое другое значение / объект не возвращается в конце функции), если тип является QString, он автоматически конвертируется в Python str
, в то время как qreal
совпадает с плавающими в Python. Это очень важно для «приватных» функций (методов), которые используются внутри Qt: если вы используете подклассы и хотите переопределить закрытый метод класса Qt, вы имеете для возврата ожидаемого Qt типа , Вы можете теоретически игнорировать returned_type
для публичных функций, если знаете, что делаете, но обычно лучше придерживаться исходного типа.
Есть несколько небольших «исключений», которые требуют некоторого рассмотрения. В некоторых случаях Qt ожидает некоторый аргумент, который будет изменен внутри функции и обычно будет возвращать, была ли функция успешной или нет, в то время как в Python он мог бы возвращать ссылку на аргумент (извините, я не могу вспомнить их сейчас). Некоторые другие функции возвращают кортеж вместо одного значения, и это имеет место в случае некоторых статических функций QFileDialog, таких как getOpenFileName [s], которые возвращают как выбранный файл [s], так и выбранный фильтр.