Spec-Zone.ru › Qt 5.9

Класс QFileDialog

Класс QFileDialog предоставляет диалоговое окно, которое позволяет пользователям выбирать файлы или каталоги. Подробнее...

Заголовок: #include <QFileDialog>
qmake: QT += widgets
Наследуется от: QDialog
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые типы

Перечисление AcceptMode { AcceptOpen, AcceptSave }
Перечисление DialogLabel { LookIn, FileName, FileType, Accept, Reject }
Перечисление FileMode { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly }
Перечисление Option { ShowDirsOnly, DontResolveSymlinks, DontConfirmOverwrite, DontUseNativeDialog, ..., DontUseCustomDirectoryIcons }
Флаги Options
Перечисление ViewMode { Detail, List }

Свойства

  • acceptMode : AcceptMode
  • defaultSuffix : QString
  • fileMode : FileMode
  • options : Options
  • supportedSchemes : QStringList
  • viewMode : ViewMode
  • 2 свойства унаследованы от QDialog
  • 59 свойств унаследованы от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QFileDialog(QWidget *parent, Qt::WindowFlags flags)
QFileDialog(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())
~QFileDialog()
AcceptMode acceptMode() const
QString defaultSuffix() const
QDir directory() const
QUrl directoryUrl() const
FileMode fileMode() const
QDir::Filters filter() const
QStringList history() const
QFileIconProvider * iconProvider() const
QAbstractItemDelegate * itemDelegate() const
QString labelText(DialogLabel label) const
QStringList mimeTypeFilters() const
QStringList nameFilters() const
void open(QObject *receiver, const char *member)
Options options() const
QAbstractProxyModel * proxyModel() const
bool restoreState(const QByteArray &state)
QByteArray saveState() const
void selectFile(const QString &filename)
void selectMimeTypeFilter(const QString &filter)
void selectNameFilter(const QString &filter)
void selectUrl(const QUrl &url)
QStringList selectedFiles() const
QString selectedMimeTypeFilter() const
QString selectedNameFilter() const
QList<QUrl> selectedUrls() const
void setAcceptMode(AcceptMode mode)
void setDefaultSuffix(const QString &suffix)
void setDirectory(const QString &directory)
void setDirectory(const QDir &directory)
void setDirectoryUrl(const QUrl &directory)
void setFileMode(FileMode mode)
void setFilter(QDir::Filters filters)
void setHistory(const QStringList &paths)
void setIconProvider(QFileIconProvider *provider)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setLabelText(DialogLabel label, const QString &text)
void setMimeTypeFilters(const QStringList &filters)
void setNameFilter(const QString &filter)
void setNameFilters(const QStringList &filters)
void setOption(Option option, bool on = true)
void setOptions(Options options)
void setProxyModel(QAbstractProxyModel *proxyModel)
void setSidebarUrls(const QList<QUrl> &urls)
void setSupportedSchemes(const QStringList &schemes)
void setViewMode(ViewMode mode)
QList<QUrl> sidebarUrls() const
QStringList supportedSchemes() const
bool testOption(Option option) const
ViewMode viewMode() const

Реализованные публичные функции

virtual void setVisible(bool visible)
  • 8 public functions inherited from QDialog
  • 214 public functions inherited from QWidget
  • 32 public functions inherited from QObject
  • 14 public functions inherited from QPaintDevice

Сигналы

void currentChanged(const QString &path)
void currentUrlChanged(const QUrl &url)
void directoryEntered(const QString &directory)
void directoryUrlEntered(const QUrl &directory)
void fileSelected(const QString &file)
void filesSelected(const QStringList &selected)
void filterSelected(const QString &filter)
void urlSelected(const QUrl &url)
void urlsSelected(const QList<QUrl> &urls)
  • 3 сигнала унаследованы от QDialog
  • 3 сигнала унаследованы от QWidget
  • 2 сигнала унаследованы от QObject

Статические публичные члены

QString getExistingDirectory(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), Options options = ShowDirsOnly)
QUrl getExistingDirectoryUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())
QString getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())
QStringList getOpenFileNames(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())
QUrl getOpenFileUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())
QList<QUrl> getOpenFileUrls(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())
QString getSaveFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())
QUrl getSaveFileUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())
  • 5 статических публичных членов унаследованы от QWidget
  • 11 статических публичных членов унаследованы от QObject

Переопределённые защищённые функции

virtual void accept()
virtual void changeEvent(QEvent *e)
virtual void done(int result)
  • 6 защищённых функций унаследованы от QDialog
  • 35 защищённых функций унаследованы от QWidget
  • 9 защищённых функций унаследованы от QObject
  • 1 защищённая функция унаследована от QPaintDevice

Дополнительные унаследованные члены

  • 5 публичных слотов унаследованы от QDialog
  • 19 публичных слотов унаследованы от QWidget
  • 1 публичный слот унаследован от QObject
  • 6 защищённых функций унаследованы от QDialog
  • 35 защищённых функций унаследованы от QWidget
  • 9 защищённых функций унаследованы от QObject
  • 1 защищённая функция унаследована от QPaintDevice
  • 1 защищённый слот унаследован от QWidget

Подробное описание

Класс QFileDialog предоставляет диалоговое окно, которое позволяет пользователям выбирать файлы или каталоги.

Класс QFileDialog позволяет пользователю перемещаться по файловой системе, чтобы выбрать один или несколько файлов или каталог.

Самый простой способ создать QFileDialog — использовать статические функции.

fileName = QFileDialog::getOpenFileName(this,
    tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));

В приведённом выше примере создаётся модальное диалоговое окно QFileDialog с помощью статической функции. Диалог первоначально отображает содержимое каталога "/home/jana" и отображает файлы, соответствующие шаблонам, указанным в строке "Изображения (*.png *.jpg *.bmp)". Родительским элементом диалогового окна для выбора файла является this, а заголовок окна — "Открыть изображение".

Если вам нужно использовать несколько фильтров, разделяйте их двумя точками с запятой. Например:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

Вы можете создать собственное диалоговое окно QFileDialog без использования статических функций. Вызывая setFileMode(), вы можете указать, что пользователь должен выбрать в диалоговом окне:

QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);

В приведённом выше примере режим диалогового окна для выбора файла устанавливается в AnyFile, что означает, что пользователь может выбрать любой файл или даже указать файл, который не существует. Этот режим полезен для создания диалогового окна "Сохранить как". Используйте ExistingFile, если пользователь должен выбрать существующий файл, или Directory, если должен быть выбран только каталог. См. перечисление QFileDialog::FileMode для полного списка режимов.

Свойство fileMode содержит режим работы диалогового окна; это указывает, какие типы объектов пользователь должен выбрать. Используйте setNameFilter(), чтобы установить фильтр файлов диалогового окна. Например:

dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));

В приведённом выше примере фильтр устанавливается в "Images (*.png *.xpm *.jpg)", это означает, что будут отображаться только файлы с расширениями png, xpm, или jpg в QFileDialog. Вы можете применять несколько фильтров, используя setNameFilters(). Используйте selectNameFilter(), чтобы выбрать один из предоставленных вами фильтров в качестве стандартного фильтра диалогового окна.

Диалоговое окно для выбора файлов имеет два режима отображения: List и Detail. List представляет содержимое текущего каталога как список имён файлов и каталогов. Detail также отображает список имён файлов и каталогов, но предоставляет дополнительную информацию рядом с каждым именем, такую как размер файла и дата последнего изменения. Установите режим с помощью setViewMode():

dialog.setViewMode(QFileDialog::Detail);

Последняя важная функция, которую вам нужно использовать при создании собственного диалогового окна для выбора файлов, — selectedFiles().

QStringList fileNames;
if (dialog.exec())
    fileNames = dialog.selectedFiles();

В приведённом выше примере создаётся и отображается модальное диалоговое окно для выбора файла. Если пользователь нажал «ОК», выбранный файл помещается в fileName.

Каталог, в котором работает диалоговое окно, можно установить с помощью setDirectory(). Каждый файл в текущем каталоге можно выбрать с помощью функции selectFile().

Пример Standard Dialogs демонстрирует использование QFileDialog, а также другие встроенные диалоговые окна Qt.

END_OF_DOCUMENT_MARKER ```

По умолчанию, если платформа поддерживает, будет использоваться диалоговое окно для выбора файла, встроенное в платформу. В этом случае виджеты, которые в противном случае использовались бы для построения диалогового окна, не будут созданы, поэтому связанные аксессоры, такие как layout() и itemDelegate(), вернут null. Вы можете установить опцию DontUseNativeDialog, чтобы гарантировать, что будет использоваться реализация на основе виджетов вместо встроенного диалогового окна.

См. также QDir, QFileInfo, QFile, QColorDialog, QFontDialog, Пример стандартных диалоговых окон и Пример приложения.

Документация по типам членов

перечисление QFileDialog::AcceptMode

Постоянная Значение
QFileDialog::AcceptOpen 0
QFileDialog::AcceptSave 1

перечисление QFileDialog::DialogLabel

Постоянная Значение
QFileDialog::LookIn 0
QFileDialog::FileName 1
QFileDialog::FileType 2
QFileDialog::Accept 3
QFileDialog::Reject 4

перечисление QFileDialog::FileMode

Это перечисление используется для указания того, что пользователь может выбрать в диалоговом окне выбора файла; т. е. что диалоговое окно вернёт, если пользователь нажмёт OK.

Постоянная Значение Описание
QFileDialog::AnyFile 0 Имя файла, существует он или нет.
QFileDialog::ExistingFile 1 Имя единственного существующего файла.
QFileDialog::Directory 2 Имя каталога. Отображаются как файлы, так и каталоги. Однако встроенное диалоговое окно Windows не поддерживает отображение файлов в окне выбора каталога.
QFileDialog::ExistingFiles 3 Ноль или более имён существующих файлов.

Это значение устарело начиная с Qt 4.5:

Постоянная Значение Описание
QFileDialog::DirectoryOnly 4 Используйте Directory и setOption(ShowDirsOnly, true) вместо этого.

См. также setFileMode().

перечисление QFileDialog::Options

Постоянная Значение Описание
QFileDialog::ShowDirsOnly 0x00000001 Отображать только каталоги в диалоговом окне выбора файла. По умолчанию отображаются как файлы, так и каталоги. (Действительно только в режиме выбора файла Directory.)
QFileDialog::DontResolveSymlinks 0x00000002 Не разрешать ссылки в диалоговом окне выбора файла. По умолчанию ссылки разрешаются.
QFileDialog::DontConfirmOverwrite 0x00000004 Не запрашивать подтверждения при выборе существующего файла. По умолчанию запрос подтверждения осуществляется.
QFileDialog::DontUseNativeDialog 0x00000010 Не использовать встроенное диалоговое окно выбора файла. По умолчанию используется встроенное диалоговое окно, за исключением случаев использования подкласса QFileDialog, содержащего макрос Q_OBJECT, или если платформа не имеет встроенного диалогового окна требуемого типа.
QFileDialog::ReadOnly 0x00000020 Указывает, что модель только для чтения.
QFileDialog::HideNameFilterDetails 0x00000040 Указывает, скрыты ли детали фильтра имён файлов или нет.
QFileDialog::DontUseSheet 0x00000008 В предыдущих версиях Qt статические функции по умолчанию создавали окно, если статической функции был передан родитель. Это больше не поддерживается и не выполняет никаких действий в Qt 4.5. Статические функции всегда будут диалоговыми окнами приложения. Если вы хотите использовать окна, используйте QFileDialog::open() вместо этого.
QFileDialog::DontUseCustomDirectoryIcons 0x00000080 Всегда использовать значок каталога по умолчанию. Некоторые платформы позволяют пользователю установить другой значок. Поиск пользовательских значков значительно снижает производительность при работе с сетью или съемными дисками. Установка этого значения включит опцию QFileIconProvider::DontUseCustomDirectoryIcons в поставщике значков. Это значение перечисления было добавлено в Qt 5.2.

Тип Options — это псевдоним для QFlags<Option>. Он хранит логическое ИЛИ сочетание значений Option.

перечисление QFileDialog::ViewMode

Это перечисление описывает режим отображения диалогового окна выбора файла; т. е. какая информация о каждом файле будет отображена.

Постоянная Значение Описание
QFileDialog::Detail 0 Отображает значок, имя и подробную информацию о каждом элементе в каталоге.
QFileDialog::List 1 Отображает только значок и имя каждого элемента в каталоге.

См. также setViewMode().

Документация по свойствам

acceptMode : AcceptMode

Это свойство содержит режим принятия диалога

Режим действия определяет, предназначен ли диалог для открытия или сохранения файлов.

По умолчанию это свойство установлено в AcceptOpen.

Функции доступа:

AcceptMode acceptMode() const
void setAcceptMode(AcceptMode mode)

См. также AcceptMode.

defaultSuffix : QString

суффикс, добавляемый к имени файла, если другой суффикс не был указан

Это свойство задаёт строку, которая будет добавлена к имени файла, если у него ещё нет суффикса. Суффикс обычно используется для указания типа файла (например, "txt" обозначает текстовый файл).

Если первый символ является точкой ('.') , она удаляется.

Функции доступа:

QString defaultSuffix() const
void setDefaultSuffix(const QString &suffix)

fileMode : FileMode

Это свойство содержит режим работы с файлами диалога

Режим работы с файлами определяет количество и тип элементов, которые пользователь должен выбрать в диалоге.

По умолчанию это свойство установлено в AnyFile.

Эта функция установит метки для FileName и Accept DialogLabel. После вызова setFileMode() можно задать пользовательский текст.

Функции доступа:

FileMode fileMode() const
void setFileMode(FileMode mode)

См. также FileMode.

options : Options

Это свойство содержит различные параметры, которые влияют на внешний вид диалога

По умолчанию все параметры отключены.

Параметры следует устанавливать до отображения диалога. Установка их во время отображения диалога не гарантирует немедленного влияния на диалог (в зависимости от параметра и платформы).

Это свойство было введено в Qt 4.5.

Функции доступа:

Options options() const
void setOptions(Options options)

См. также setOption() и testOption().

supportedSchemes : QStringList

Это свойство содержит схемы URL, к которым диалог с файлами должен иметь доступ.

Установка этого свойства позволяет ограничить типы URL-адресов, которые пользователь сможет выбрать. Это способ для приложения объявить протоколы, которые оно будет поддерживать для извлечения содержимого файла. Пустой список означает, что никаких ограничений нет (по умолчанию). Поддержка локальных файлов ("схема file") неявно и всегда включена; нет необходимости включать её в ограничения.

Это свойство было введено в Qt 5.6.

Функции доступа:

QStringList supportedSchemes() const
void setSupportedSchemes(const QStringList &schemes)

viewMode : ViewMode

Это свойство содержит способ отображения файлов и каталогов в диалоге

По умолчанию используется режим Detail для отображения информации о файлах и каталогах.

Функции доступа:

ViewMode viewMode() const
void setViewMode(ViewMode mode)

См. также ViewMode.

Документация по функциям-членам

QFileDialog::QFileDialog(QWidget *parent, Qt::WindowFlags flags)

Создаёт диалог выбора файла с заданным parent и флагами виджета flags.

QFileDialog::QFileDialog(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())

Создаёт диалог выбора файла с заданным parent и caption, который изначально отображает содержимое указанного directory. Содержимое каталога фильтруется перед отображением в диалоге с использованием списка фильтров, разделённых точкой с запятой, заданных параметром filter.

QFileDialog::~QFileDialog()

Удаляет диалог выбора файла.

[virtual protected] void QFileDialog::accept()

Переопределяет QDialog::accept().

[virtual protected] void QFileDialog::changeEvent(QEvent *e)

Переопределяет QWidget::changeEvent().

[signal] void QFileDialog::currentChanged(const QString &path)

При изменении текущего файла для локальных операций, этот сигнал испускается с новым именем файла в качестве параметра path.

См. также filesSelected().

[signal] void QFileDialog::currentUrlChanged(const QUrl &url)

При изменении текущего файла, этот сигнал испускается с новым URL-адресом файла как параметром url.

Эта функция была введена в Qt 5.2.

См. также urlsSelected().

QDir QFileDialog::directory() const

Возвращает каталог, который отображается в данный момент в диалоге.

См. также setDirectory().

[signal] void QFileDialog::directoryEntered(const QString &directory)

Этот сигнал испускается для локальных операций, когда пользователь вводит directory.

Эта функция была введена в Qt 4.3.

QUrl QFileDialog::directoryUrl() const

Возвращает URL каталога, который в данный момент отображается в диалоге.

Эта функция была введена в Qt 5.2.

См. также setDirectoryUrl().

[signal] void QFileDialog::directoryUrlEntered(const QUrl &directory)

Этот сигнал испускается, когда пользователь вводит directory.

Эта функция была введена в Qt 5.2.

[virtual protected] void QFileDialog::done(int result)

Переопределяет QDialog::done().

[signal] void QFileDialog::fileSelected(const QString &file)

При изменении выбора для локальных операций и принятии диалога, этот сигнал испускается с выбранным (возможно пустым) file.

См. также currentChanged() и QDialog::Accepted.

[signal] void QFileDialog::filesSelected(const QStringList &selected)

При изменении выбора для локальных операций и принятии диалога, этот сигнал испускается со списком (возможно пустым) выбранных selected файлов.

См. также currentChanged() и QDialog::Accepted.

QDir::Filters QFileDialog::filter() const

Возвращает фильтр, используемый при отображении файлов.

Эта функция была введена в Qt 4.4.

См. также setFilter().

[signal] void QFileDialog::filterSelected(const QString &filter)

Этот сигнал генерируется, когда пользователь выбирает фильтр.

Эта функция была представлена в Qt 4.3.

[static] QString QFileDialog::getExistingDirectory(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), Options options = ShowDirsOnly)

Это удобная статическая функция, которая возвращает существующий каталог, выбранный пользователем.

QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                "/home",
                                                QFileDialog::ShowDirsOnly
                                                | QFileDialog::DontResolveSymlinks);

Эта функция создаёт модальный диалог выбора файла с заданным виджетом parent. Если parent не равен 0, диалог будет отображён по центру над виджетом-родителем.

Рабочий каталог диалога устанавливается в dir, а заголовок — в caption. Любой из этих параметров может быть пустой строкой, в этом случае будет использован текущий каталог и стандартный заголовок соответственно.

Аргумент options содержит различные параметры работы диалога, см. перечисление QFileDialog::Option для получения дополнительной информации о передаваемых флагах. Для обеспечения использования системного диалога выбора каталога, необходимо установить флаг ShowDirsOnly.

В Windows и macOS эта статическая функция использует системный диалог выбора файла, а не QFileDialog. Однако системный диалог Windows не поддерживает отображение файлов в окне выбора каталога. Вам нужно передать DontUseNativeDialog, чтобы отображать файлы с помощью QFileDialog.

В Unix/X11 обычное поведение диалога выбора файла — разрешать и следовать символическим ссылкам. Например, если /usr/tmp является символической ссылкой на /var/tmp, диалог выбора файла переключится на /var/tmp после ввода /usr/tmp. Если в options включён DontResolveSymlinks, диалог выбора файла будет рассматривать символические ссылки как обычные каталоги.

В Windows диалог будет запускать блокирующий модальный цикл обработки событий, который не будет обрабатывать QTimers, и если parent не равен 0, он расположит диалог чуть ниже панели заголовка родительского виджета.

Предупреждение: Не удаляйте parent во время работы диалога. Если вы хотите это сделать, вы должны создать диалог самостоятельно, используя один из конструкторов QFileDialog.

См. также getOpenFileName(), getOpenFileNames(), и getSaveFileName().

[static] QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())

Это удобная статическая функция, которая возвращает существующий каталог, выбранный пользователем. Если пользователь нажимает «Отмена», она возвращает пустой URL.

Функция используется аналогично QFileDialog::getExistingDirectory(). В частности, parent, caption, dir и options используются точно так же.

Главное отличие от QFileDialog::getExistingDirectory() заключается в возможности выбора удалённого каталога пользователем. Поэтому тип возвращаемого значения и параметр dir имеют тип QUrl.

Аргумент supportedSchemes позволяет ограничить типы URL, которые сможет выбрать пользователь. Это позволяет приложению указать протоколы, которые оно будет поддерживать для получения содержимого файла. Пустой список означает отсутствие ограничений (по умолчанию). Поддержка локальных файлов («file» схема) подразумевается и всегда включена; её не нужно включать в ограничение.

Когда это возможно, эта статическая функция будет использовать системный диалог выбора файла, а не QFileDialog. На платформах, которые не поддерживают выбор удалённых файлов, Qt позволит выбрать только локальные файлы.

Эта функция была представлена в Qt 5.2.

См. также getExistingDirectory(), getOpenFileUrl(), getOpenFileUrls(), и getSaveFileUrl().

[static] QString QFileDialog::getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())

Это удобная статическая функция, которая возвращает существующий файл, выбранный пользователем. Если пользователь нажимает «Отмена», она возвращает пустую строку.

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                "/home",
                                                tr("Images (*.png *.xpm *.jpg)"));

Функция создаёт модальный диалог выбора файла с заданным виджетом-родителем parent. Если parent не равен 0, диалог будет показан по центру над родительским виджетом.

Рабочий каталог диалога выбора файла будет установлен в dir. Если dir содержит имя файла, этот файл будет выбран. Отображаются только файлы, соответствующие заданному фильтру filter. Выбранный фильтр устанавливается в selectedFilter. Параметры dir, selectedFilter и filter могут быть пустыми строками. Если требуется несколько фильтров, разделяйте их символом «;;», например:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

Аргумент options содержит различные параметры работы диалога, см. перечисление QFileDialog::Option для получения дополнительной информации о передаваемых флагах.

Заголовок диалога устанавливается в caption. Если caption не указан, будет использован стандартный заголовок.

В Windows и macOS эта статическая функция использует системный диалог выбора файла, а не QFileDialog.

В Windows диалог будет запускать блокирующий модальный цикл обработки событий, который не будет обрабатывать QTimers, и если parent не равен 0, он расположит диалог чуть ниже панели заголовка родительского виджета.

В Unix/X11 обычное поведение диалога выбора файла — разрешать и следовать символическим ссылкам. Например, если /usr/tmp является символической ссылкой на /var/tmp, диалог выбора файла переключится на /var/tmp после ввода /usr/tmp. Если в options включён DontResolveSymlinks, диалог выбора файла будет рассматривать символические ссылки как обычные каталоги.

Предупреждение: Не удаляйте parent во время работы диалога. Если вы хотите это сделать, вы должны создать диалог самостоятельно, используя один из конструкторов QFileDialog.

См. также getOpenFileNames(), getSaveFileName(), и getExistingDirectory().

[static] QStringList QFileDialog::getOpenFileNames(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())

Это удобная статическая функция, которая возвращает один или несколько существующих файлов, выбранных пользователем.

QStringList files = QFileDialog::getOpenFileNames(
                        this,
                        "Select one or more files to open",
                        "/home",
                        "Images (*.png *.xpm *.jpg)");

Функция создаёт модальный диалог выбора файла с заданным виджетом-родителем parent. Если parent не равен 0, диалог будет показан по центру над родительским виджетом.

Рабочий каталог диалога выбора файла будет установлен в dir. Если dir содержит имя файла, этот файл будет выбран. Фильтр устанавливается в filter, так что отображаются только файлы, соответствующие фильтру. Выбранный фильтр устанавливается в selectedFilter. Параметры dir, selectedFilter и filter могут быть пустыми строками. Если требуется несколько фильтров, разделяйте их символом «;;», например:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

Заголовок диалога устанавливается в caption. Если caption не указан, будет использован стандартный заголовок.

В Windows и macOS эта статическая функция использует системный диалог выбора файла, а не QFileDialog.

В Windows диалог будет запускать блокирующий модальный цикл обработки событий, который не будет обрабатывать QTimers, и если parent не равен 0, он расположит диалог чуть ниже панели заголовка родительского виджета.

В Unix/X11 обычное поведение диалога выбора файла — разрешать и следовать символическим ссылкам. Например, если /usr/tmp является символической ссылкой на /var/tmp, диалог выбора файла переключится на /var/tmp после ввода /usr/tmp. Аргумент options содержит различные параметры работы диалога, см. перечисление QFileDialog::Option для получения дополнительной информации о передаваемых флагах.

Предупреждение: Не удаляйте parent во время работы диалога. Если вы хотите это сделать, вы должны создать диалог самостоятельно, используя один из конструкторов QFileDialog.

См. также getOpenFileName(), getSaveFileName(), и getExistingDirectory().

[static] QUrl QFileDialog::getOpenFileUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())

Это удобная статическая функция, возвращающая путь к существующему файлу, выбранному пользователем. Если пользователь нажмёт «Отмена», она возвращает пустой URL.

Функция используется аналогично QFileDialog::getOpenFileName(). В частности, parent, caption, dir, filter, selectedFilter и options используются точно так же.

Основное отличие от QFileDialog::getOpenFileName() заключается в возможности выбора удалённого файла. Поэтому тип возвращаемого значения и тип dir — QUrl.

Аргумент supportedSchemes позволяет ограничить типы URL, которые сможет выбрать пользователь. Это способ для приложения объявить протоколы, которые оно поддерживает для загрузки содержимого файла. Пустой список означает, что ограничений нет (по умолчанию). Поддержка локальных файлов («file» схема) подразумевается и всегда включена; нет необходимости включать её в ограничение.

Когда это возможно, эта статическая функция будет использовать системный диалог файлов, а не QFileDialog. На платформах, не поддерживающих выбор удалённых файлов, Qt позволит выбрать только локальные файлы.

Функция была добавлена в Qt 5.2.

См. также getOpenFileName(), getOpenFileUrls(), getSaveFileUrl(), и getExistingDirectoryUrl().

[static] QList<QUrl> QFileDialog::getOpenFileUrls(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())

Это удобная статическая функция, которая вернёт один или несколько существующих файлов, выбранных пользователем. Если пользователь нажмёт «Отмена», она возвращает пустой список.

Функция используется аналогично QFileDialog::getOpenFileNames(). В частности, parent, caption, dir, filter, selectedFilter и options используются точно так же.

Основное отличие от QFileDialog::getOpenFileNames() заключается в возможности выбора удалённых файлов. Поэтому тип возвращаемого значения и тип dir — соответственно QList<QUrl> и QUrl.

Аргумент supportedSchemes позволяет ограничить типы URL, которые сможет выбрать пользователь. Это способ для приложения объявить протоколы, которые оно поддерживает для загрузки содержимого файла. Пустой список означает, что ограничений нет (по умолчанию). Поддержка локальных файлов («file» схема) подразумевается и всегда включена; нет необходимости включать её в ограничение.

Когда это возможно, эта статическая функция будет использовать системный диалог файлов, а не QFileDialog. На платформах, не поддерживающих выбор удалённых файлов, Qt позволит выбрать только локальные файлы.

Функция была добавлена в Qt 5.2.

См. также getOpenFileNames(), getOpenFileUrl(), getSaveFileUrl(), и getExistingDirectoryUrl().

[static] QString QFileDialog::getSaveFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())

Это удобная статическая функция, которая возвращает имя файла, выбранное пользователем. Файл не обязательно должен существовать.

Создаёт модальный диалог сохранения файла с указанным виджетом parent. Если parent не равен 0, диалог будет отображаться, центрированным над виджетом-родителем.

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),
                           "/home/jana/untitled.png",
                           tr("Images (*.png *.xpm *.jpg)"));

Рабочая директория диалога будет установлена в dir. Если dir включает имя файла, файл будет выбран. Отображаются только файлы, соответствующие фильтру filter. Выбранный фильтр устанавливается в selectedFilter. Параметры dir, selectedFilter и filter могут быть пустыми строками. Несколько фильтров разделяются символом ';;'. Например:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

Аргумент options содержит различные параметры работы диалога, см. перечисление QFileDialog::Option для получения дополнительной информации о передаваемых флагах.

Фильтр по умолчанию может быть выбран установкой selectedFilter в нужное значение.

Заголовок диалога устанавливается в caption. Если caption не указан, будет использован заголовок по умолчанию.

В Windows и macOS эта статическая функция будет использовать системный диалог файлов, а не QFileDialog.

В Windows диалог будет блокировать цикл событий, не отправляя QTimers, а если parent не равен 0, то диалог будет размещён непосредственно под строкой заголовка родительского виджета. В macOS, с использованием системного диалога, аргумент filter игнорируется.

В Unix/X11 обычное поведение диалога — разрешать и следовать символическим ссылкам. Например, если /usr/tmp является символической ссылкой на /var/tmp, диалог файла изменится на /var/tmp после ввода /usr/tmp. Если options включает DontResolveSymlinks, диалог файла будет рассматривать символические ссылки как обычные директории.

Предупреждение: Не удаляйте parent во время работы диалога. Если вы хотите это сделать, вы должны создать диалог самостоятельно, используя один из конструкторов QFileDialog.

См. также getOpenFileName(), getOpenFileNames(), и getExistingDirectory().

[static] QUrl QFileDialog::getSaveFileUrl(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options(), const QStringList &supportedSchemes = QStringList())

Это удобная статическая функция, возвращающая путь к файлу, выбранному пользователем. Файл не обязательно должен существовать. Если пользователь нажмёт «Отмена», она возвращает пустой URL.

Функция используется аналогично QFileDialog::getSaveFileName(). В частности, parent, caption, dir, filter, selectedFilter и options используются точно так же.

Основное отличие от QFileDialog::getSaveFileName() заключается в возможности выбора удалённого файла. Поэтому тип возвращаемого значения и тип dir — QUrl.

Аргумент supportedSchemes позволяет ограничить типы URL, которые сможет выбрать пользователь. Это способ для приложения объявить протоколы, которые оно поддерживает для сохранения содержимого файла. Пустой список означает, что ограничений нет (по умолчанию). Поддержка локальных файлов («file» схема) подразумевается и всегда включена; нет необходимости включать её в ограничение.

Когда это возможно, эта статическая функция будет использовать системный диалог файлов, а не QFileDialog. На платформах, не поддерживающих выбор удалённых файлов, Qt позволит выбрать только локальные файлы.

Функция была добавлена в Qt 5.2.

См. также getSaveFileName(), getOpenFileUrl(), getOpenFileUrls(), и getExistingDirectoryUrl().

QStringList QFileDialog::history() const

Возвращает историю навигации диалога файлов как список путей.

См. также setHistory().

QFileIconProvider *QFileDialog::iconProvider() const

Возвращает поставщик иконок, используемый диалогом файлов.

См. также setIconProvider().

QAbstractItemDelegate *QFileDialog::itemDelegate() const

Возвращает делегат элементов, используемый для отображения элементов в представлениях в диалоге файлов.

См. также setItemDelegate().

QString QFileDialog::labelText(DialogLabel label) const

Возвращает текст, отображаемый в диалоге файлов в указанной метке label.

См. также setLabelText().

QStringList QFileDialog::mimeTypeFilters() const

Возвращает фильтры типов MIME, используемые в этом диалоге выбора файла.

Эта функция была добавлена в Qt 5.2.

См. также setMimeTypeFilters().

QStringList QFileDialog::nameFilters() const

Возвращает фильтры типов файлов, используемые в этом диалоге выбора файла.

Эта функция была добавлена в Qt 4.4.

См. также setNameFilters().

void QFileDialog::open(QObject *receiver, const char *member)

Это перегруженная функция.

Эта функция подключает один из своих сигналов к слоту, указанному receiver и member. Конкретный сигнал зависит от fileMode: filesSelected(), если fileMode — ExistingFiles, и fileSelected(), если fileMode — другое значение.

Сигнал будет отключён от слота при закрытии диалога.

Эта функция была добавлена в Qt 4.5.

QAbstractProxyModel *QFileDialog::proxyModel() const

Возвращает прокси-модель, используемую диалогом выбора файла. По умолчанию прокси не установлен.

См. также setProxyModel().

bool QFileDialog::restoreState(const QByteArray &state)

Восстанавливает макет, историю и текущий каталог диалога до состояния, заданного в state.

Обычно используется совместно с QSettings для восстановления размера из предыдущей сессии.

Возвращает false в случае ошибок

Эта функция была добавлена в Qt 4.3.

QByteArray QFileDialog::saveState() const

Сохраняет состояние макета, истории и текущего каталога диалога.

Обычно используется совместно с QSettings для сохранения размера на будущее. Номер версии сохраняется как часть данных.

Эта функция была добавлена в Qt 4.3.

void QFileDialog::selectFile(const QString &filename)

Выделяет указанный filename в диалоге выбора файла.

См. также selectedFiles().

void QFileDialog::selectMimeTypeFilter(const QString &filter)

Устанавливает текущий фильтр типа MIME filter.

Эта функция была добавлена в Qt 5.2.

void QFileDialog::selectNameFilter(const QString &filter)

Устанавливает текущий фильтр типа файла filter. Несколько фильтров можно передать в filter, разделив их точкой с запятой или пробелами.

Эта функция была добавлена в Qt 4.4.

См. также setNameFilter(), setNameFilters() и selectedNameFilter().

void QFileDialog::selectUrl(const QUrl &url)

Выделяет указанный url в диалоге выбора файла.

Примечание: Ненативный QFileDialog поддерживает только локальные файлы.

Эта функция была добавлена в Qt 5.2.

См. также selectedUrls().

QStringList QFileDialog::selectedFiles() const

Возвращает список строк, содержащих абсолютные пути выбранных файлов в диалоге. Если файлы не выбраны или режим не ExistingFiles или ExistingFile, selectedFiles() содержит текущий путь в области просмотра.

См. также selectedNameFilter() и selectFile().

QString QFileDialog::selectedMimeTypeFilter() const

Возвращает тип MIME файла, выбранного пользователем в диалоге выбора файла.

Эта функция была добавлена в Qt 5.9.

QString QFileDialog::selectedNameFilter() const

Возвращает фильтр, выбранный пользователем в диалоге выбора файла.

Эта функция была добавлена в Qt 4.4.

См. также selectedFiles().

QList<QUrl> QFileDialog::selectedUrls() const

Возвращает список URL, содержащих выбранные файлы в диалоге. Если файлы не выбраны или режим не ExistingFiles или ExistingFile, selectedUrls() содержит текущий путь в области просмотра.

Эта функция была добавлена в Qt 5.2.

См. также selectedNameFilter() и selectUrl().

void QFileDialog::setDirectory(const QString &directory)

Устанавливает текущий каталог диалога выбора файла.

Примечание: В iOS, если вы установите directory в QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last(), будет использован родной диалог выбора изображения для доступа к фотоальбому пользователя. Путь к файлу можно загрузить с помощью QFile и соответствующих API. Для активации этой функции, в файле проекта необходимо добавить в Info.plist, назначенный для QMAKE_INFO_PLIST, ключ NSPhotoLibraryUsageDescription. Для получения дополнительной информации о данном ключе, см. документацию Info.plist от Apple. Эта функция была добавлена в Qt 5.5.

См. также directory().

void QFileDialog::setDirectory(const QDir &directory)

Это перегруженная функция.

void QFileDialog::setDirectoryUrl(const QUrl &directory)

Устанавливает текущий URL каталога диалога выбора файла.

Примечание: Ненативный QFileDialog поддерживает только локальные файлы.

Примечание: В Windows можно передать URL, представляющие один из виртуальных папок, таких как "Компьютер" или "Сеть". Это делается путём передачи QUrl с использованием схемы clsid, за которой следует значение CLSID без фигурных скобок. Например, URL clsid:374DE290-123F-4565-9164-39C4925E467B обозначает место загрузки. Для полного списка возможных значений см. документацию MSDN по KNOWNFOLDERID. Эта функция была добавлена в Qt 5.5.

Эта функция была добавлена в Qt 5.2.

См. также directoryUrl() и QUuid.

void QFileDialog::setFilter(QDir::Filters filters)

Устанавливает фильтр, используемый моделью, в filters. Фильтр используется для указания типа отображаемых файлов.

Эта функция была добавлена в Qt 4.4.

См. также filter().

void QFileDialog::setHistory(const QStringList &paths)

Устанавливает историю навигации диалога выбора файла, содержащую указанные paths.

См. также history().

void QFileDialog::setIconProvider(QFileIconProvider *provider)

Устанавливает поставщика иконок, используемого диалогом выбора файла, в указанный provider.

См. также iconProvider().

void QFileDialog::setItemDelegate(QAbstractItemDelegate *delegate)

Устанавливает делегат элементов, используемый для отображения элементов в представлении диалога выбора файла, в указанный delegate.

Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких представлений. Это может привести к некорректному или неинтуитивному поведению при редактировании, так как каждое представление, подключённое к данному делегату, может получить сигнал closeEditor() и попытаться получить доступ, изменить или закрыть редактор, который уже был закрыт.

Обратите внимание, что используемая модель — QFileSystemModel. Она имеет пользовательские роли данных элементов, описанные перечислением Roles. Если нужно только настроить иконки, можно использовать QFileIconProvider.

См. также itemDelegate(), setIconProvider() и QFileSystemModel.

void QFileDialog::setLabelText(DialogLabel label, const QString &text)

Устанавливает текст, отображаемый в диалоге выбора файла в указанной метке label.

См. также labelText().

END_OF_DOCUMENT_MARKER

void QFileDialog::setMimeTypeFilters(const QStringList &filters)

Устанавливает filters, используемые в диалоге выбора файла, из списка типов MIME.

Удобный метод для setNameFilters(). Использует QMimeType для создания фильтра имени из шаблонов glob и описания, определённых в каждом типе MIME.

Используйте application/octet-stream для фильтра «Все файлы (*)», так как это базовый тип MIME для всех файлов.

Вызов setMimeTypeFilters перезаписывает все ранее установленные фильтры имен и изменяет возвращаемое значение nameFilters().

QStringList mimeTypeFilters;
mimeTypeFilters << "image/jpeg" // will show "JPEG image (*.jpeg *.jpg *.jpe)
            << "image/png"  // will show "PNG image (*.png)"
            << "application/octet-stream"; // will show "All files (*)"

QFileDialog dialog(this);
dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.exec();

Эта функция была добавлена в Qt 5.2.

См. также mimeTypeFilters().

void QFileDialog::setNameFilter(const QString &filter)

Устанавливает фильтр, используемый в диалоге выбора файла, на заданный filter.

Если filter содержит пару скобок, содержащих один или несколько шаблонов масок имён файлов, разделённых пробелами, то в качестве фильтра используется только текст, находящийся в скобках. Это означает, что все эти вызовы эквивалентны:

dialog.setNameFilter("All C++ files (*.cpp *.cc *.C *.cxx *.c++)");
dialog.setNameFilter("*.cpp *.cc *.C *.cxx *.c++");

Эта функция была добавлена в Qt 4.4.

См. также setMimeTypeFilters() и setNameFilters().

void QFileDialog::setNameFilters(const QStringList &filters)

Устанавливает filters, используемые в диалоге выбора файла.

Обратите внимание, что фильтр *.* не является переносимым, так как историческое предположение, что расширение файла определяет тип файла, не согласуется на всех операционных системах. Возможно, что файл без точки в имени (например, Makefile). В родном диалоге Windows *.* будет соответствовать таким файлам, в то время как в других типах диалогов это может не соответствовать. Поэтому лучше использовать *, если вы хотите выбрать любой файл.

QStringList filters;
filters << "Image files (*.png *.xpm *.jpg)"
        << "Text files (*.txt)"
        << "Any files (*)";

QFileDialog dialog(this);
dialog.setNameFilters(filters);
dialog.exec();

setMimeTypeFilters() имеет преимущество, предоставляя все возможные фильтры имен для каждого типа файлов. Например, изображения JPEG имеют три возможных расширения; если ваше приложение может открывать такие файлы, выбор фильтра типа image/jpeg позволит вам открыть все из них.

Эта функция была добавлена в Qt 4.4.

См. также nameFilters().

void QFileDialog::setOption(Option option, bool on = true)

Устанавливает заданный option как включенный, если on равно true; в противном случае очищает заданный option.

Эта функция была добавлена в Qt 4.5.

См. также options и testOption().

void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)

Устанавливает модель для представлений в заданный proxyModel. Это полезно, если вы хотите изменить базовую модель; например, добавить столбцы, отфильтровать данные или добавить диски.

Любая существующая модель прокси будет удалена, но не удалена. Диалог выбора файла возьмёт proxyModel на себя.

Эта функция была добавлена в Qt 4.3.

См. также proxyModel().

void QFileDialog::setSidebarUrls(const QList<QUrl> &urls)

Устанавливает urls, расположенные в боковой панели.

Например:

    QList<QUrl> urls;
    urls << QUrl::fromLocalFile("/Users/foo/Code/qt5")
         << QUrl::fromLocalFile(QStandardPaths::standardLocations(QStandardPaths::MusicLocation).first());

    QFileDialog dialog;
    dialog.setSidebarUrls(urls);
    dialog.setFileMode(QFileDialog::AnyFile);
    if(dialog.exec()) {
        // ...
    }

Диалог выбора файла будет выглядеть следующим образом:

Эта функция была добавлена в Qt 4.3.

См. также sidebarUrls().

void QFileDialog::setVisible(bool visible)

Переопределено из QWidget::setVisible().

QList<QUrl> QFileDialog::sidebarUrls() const

Возвращает список url, которые в настоящее время находятся в боковой панели

Эта функция была добавлена в Qt 4.3.

См. также setSidebarUrls().

bool QFileDialog::testOption(Option option) const

Возвращает true, если заданный option включён; в противном случае возвращает false.

Эта функция была добавлена в Qt 4.5.

См. также options и setOption().

void QFileDialog::urlSelected(const QUrl &url)

При изменении выбора и принятии диалога, этот сигнал испускается с выбранным (возможно пустым) url.

Эта функция была добавлена в Qt 5.2.

См. также currentUrlChanged() и QDialog::Accepted.

void QFileDialog::urlsSelected(const QList<QUrl> &urls)

При изменении выбора и принятии диалога, этот сигнал испускается со списком выбранных urls.

Эта функция была добавлена в Qt 5.2.

См. также currentUrlChanged() и QDialog::Accepted.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qfiledialog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API