Шаг 259.
Библиотека PyQt5.
Диалоговые окна. Класс QFileDialog. Основные методы и сигналы
На этом шаге мы перечислим основные методы и сигналы этого класса.
Класс QFileDialog наследует все методы базовых классов и определяет следующие собственные методы (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qfiledialog.html):
- setAcceptMode (<Тип>) - задает тип окна. В качестве параметра указываются следующие атрибуты класса QFileDialog:
- AcceptOpen (или 0) - окно для открытия файла (по умолчанию);
- AcceptSave (или 1) - окно для сохранения файла;
- setViewMode (<Режим>) - задает режим вывода списка файлов. В качестве параметра указываются следующие атрибуты класса QFileDialog:
- Detail (или 0) - отображается подробная информация о файлах;
- List (или 1) - отображается только значок и название файла;
- setFileMode (<Тип>) - задает тип возвращаемого значения. В качестве параметра указываются следующие атрибуты класса QFileDialog:
- AnyFile (или 0) - файл независимо от того, существует он или нет;
- ExistingFile (или 1) - существующий файл;
- Directory (или 2) - каталог;
- ExistingFiles (или 3) - список из нескольких существующих файлов. Несколько файлов можно выбрать, удерживая нажатой клавишу Ctrl;
- setOption (<Опция>[, on=True]) - если во втором параметре указано значение True, указанная в первом параметре опция будет установлена, а если False - сброшена.
В первом параметре можно указать следующие атрибуты класса QFileDialog (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qfiledialog.html#Option-enum):
- ShowDirsOnly (или 1) - отображать только названия каталогов. Опция работает только при использовании типа возвращаемого значения Directory;
- DontConfirmOverwrite (или 4) - не спрашивать разрешения на перезапись существующего файла;
- ReadOnly (или 32) - режим только для чтения;
- HideNameFilterDetails (или 64) - скрывает детали фильтра;
- setOptions (<Опции>) - позволяет установить сразу несколько опций;
- setDirectory () - задает отображаемый каталог. Форматы метода:
setDirectory(<Путь>)
setDirectory(<QDir>)
- directory () - возвращает экземпляр класса QDir с путем к отображаемому каталогу;
- setDirectoryUrl (<QUrl>) - задает отображаемый каталог в виде экземпляра класса QUrl из модуля QtCore:
dialog.setDirectoryUrl(QtCore.QUrl.fromLocalFile("C:\\book"))
- directoryUrl () - возвращает экземпляр класса QUrl с путем к отображаемому каталогу;
- setNameFilter (<Фильтр>) - устанавливает фильтр. Чтобы установить несколько фильтров, необходимо перечислить их через две точки с запятой:
dialog.setNameFilter("All (*);;Images (*.png *.jpg)")
- setNameFilters (<Список фильтров>) -устанавливает сразу несколько фильтров:
dialog.setNameFilters(["All (*)", "Images (*.png *.jpg)"])
- selectFile (<Haзвание файла>) - выбирает указанный файл;
- selectUrl (<QUrl>) - выбирает файл, указанный в виде экземпляра класса QUrl;
- selectedFiles () - возвращает список с выбранными файлами;
- selectedUrls () - возвращает список экземпляров класса QUrl, представляющих выбранные файлы;
- setDefaultSuffix (<Расширение>) - задает расширение, которое добавляется к файлу при отсутствии указанного расширения;
- setHistory (<Список>) - задает список истории;
- setSidebarUrls (<Список с QUrl>) - задает список папок, отображаемый на боковой панели. Пример:
dialog.setSidebarUrls([QtCore.QUrl.fromLocalFile("C:\\book"),
QtCore.QUrl.fromLocalFile("C:\\book\\eclipse")])
- setLabelText (<Тип надписи>, <Текст>) - позволяет изменить текст указанной надписи.
В первом параметре указываются следующие атрибуты класса QFileDialog:
- LookIn (или 0) - надпись слева от списка с каталогами;
- FileName (или 1) - надпись слева от поля с названием файла;
- FileType (или 2) - надпись слева от поля с типами файлов;
- Accept (или 3) - надпись на кнопке, нажатие которой приведет к подтверждению действия (по умолчанию Open или Save);
- Reject (или 4) - надпись на кнопке, нажатие которой приведет к отказу от действия (по умолчанию Cancel);
- saveState () - возвращает экземпляр класса QByteArray с текущими параметрами диалогового окна;
- restoreState (<QByteArray>) - восстанавливает параметры диалогового окна и возвращает True, если восстановление прошло успешно, и False - в противном случае.
Класс QFileDialog поддерживает следующие сигналы:
- currentChanged (<Путь>) - генерируется при изменении текущего файла. Внутри обработчика через параметр доступен новый путь в виде строки;
- currentUrlChanged (<QUrl>) - генерируется при изменении текущего файла. Внутри обработчика через параметр доступен новый путь;
- directoryEntered (<Путь>) - генерируется при изменении каталога. Внутри обработчика через параметр доступен новый путь в виде строки;
- directoryUrlEntered (<QUrl>) - генерируется при изменении каталога. Внутри обработчика через параметр доступен новый путь;
- fileSelected (<Путь>) - генерируется при выборе файла и подтверждении выбора. Внутри обработчика через параметр доступен путь в виде строки;
- urlSelected (<QUrl>) - генерируется при выборе файла и подтверждении выбора. Внутри обработчика через параметр доступен путь;
- filesSelected (<Список путей>) - генерируется при выборе нескольких файлов и подтверждении выбора. Внутри обработчика через параметр доступен список с путями, заданными в виде строк;
- urlsSelected (<Список QUrl>) - генерируется при выборе нескольких файлов и подтверждении выбора. Внутри обработчика через параметр доступен список с путями;
- filterSelected (<Фильтр>) - генерируется при изменении фильтра. Внутри обработчика через параметр доступен новый фильтр в виде строки.
На следующем шаге мы рассмотрим окно для выбора каталога.
Предыдущий шаг
Содержание
Следующий шаг