Spec-Zone.ru › Qt 5.11

Класс 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 = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())
virtual ~QFileDialog()
QFileDialog::AcceptMode acceptMode() const
QString defaultSuffix() const
QDir directory() const
QUrl directoryUrl() const
QFileDialog::FileMode fileMode() const
QDir::Filters filter() const
QStringList history() const
QFileIconProvider * iconProvider() const
QAbstractItemDelegate * itemDelegate() const
QString labelText(QFileDialog::DialogLabel label) const
QStringList mimeTypeFilters() const
QStringList nameFilters() const
void open(QObject *receiver, const char *member)
QFileDialog::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(QFileDialog::AcceptMode mode)
void setDefaultSuffix(const QString &suffix)
void setDirectory(const QString &directory)
void setDirectory(const QDir &directory)
void setDirectoryUrl(const QUrl &directory)
void setFileMode(QFileDialog::FileMode mode)
void setFilter(QDir::Filters filters)
void setHistory(const QStringList &paths)
void setIconProvider(QFileIconProvider *provider)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setLabelText(QFileDialog::DialogLabel label, const QString &text)
void setMimeTypeFilters(const QStringList &filters)
void setNameFilter(const QString &filter)
void setNameFilters(const QStringList &filters)
void setOption(QFileDialog::Option option, bool on = true)
void setOptions(QFileDialog::Options options)
void setProxyModel(QAbstractProxyModel *proxyModel)
void setSidebarUrls(const QList<QUrl> &urls)
void setSupportedSchemes(const QStringList &schemes)
void setViewMode(QFileDialog::ViewMode mode)
QList<QUrl> sidebarUrls() const
QStringList supportedSchemes() const
bool testOption(QFileDialog::Option option) const
QFileDialog::ViewMode viewMode() const

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

virtual void setVisible(bool visible) override
  • 8 public функций, унаследованных от QDialog
  • 214 public функций, унаследованных от QWidget
  • 34 public функций, унаследованных от QObject
  • 14 public функций, унаследованных от 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, const QString &caption, const QString &dir, QFileDialog::Options options)
QUrl getExistingDirectoryUrl(QWidget *parent, const QString &caption, const QUrl &dir, QFileDialog::Options options, const QStringList &supportedSchemes = QStringList())
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ...)
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ...)
QUrl getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ..., const QStringList &supportedSchemes = QStringList())
QList<QUrl> getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ..., const QStringList &supportedSchemes = QStringList())
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ...)
QUrl getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ..., const QStringList &supportedSchemes = QStringList())
  • 5 статических публичных членов унаследованы от QWidget
  • 10 статических публичных членов унаследованы от QObject

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

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

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

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

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

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

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

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

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

В приведенном выше примере модальное диалоговое окно QFileDialog создаётся с помощью статической функции. Диалоговое окно первоначально отображает содержимое каталога "/home/jana" и отображает файлы, соответствующие шаблонам, указанным в строке "Image Files (*.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().

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

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

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

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

enum QFileDialog::AcceptMode

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

enum QFileDialog::DialogLabel

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

enum QFileDialog::FileMode

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

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

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

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

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

enum QFileDialog::Optionflags 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.

enum QFileDialog::ViewMode

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

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

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

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

acceptMode : AcceptMode

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

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

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

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

QFileDialog::AcceptMode acceptMode() const
void setAcceptMode(QFileDialog::AcceptMode mode)

См. также AcceptMode.

defaultSuffix : QString

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

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

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

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

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

fileMode : FileMode

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

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

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

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

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

QFileDialog::FileMode fileMode() const
void setFileMode(QFileDialog::FileMode mode)

См. также FileMode.

options : Options

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

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

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

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

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

QFileDialog::Options options() const
void setOptions(QFileDialog::Options options)

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

supportedSchemes : QStringList

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

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

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

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

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

viewMode : ViewMode

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

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

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

QFileDialog::ViewMode viewMode() const
void setViewMode(QFileDialog::ViewMode mode)

См. также ViewMode.

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

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

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

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

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

[virtual] QFileDialog::~QFileDialog()

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

[override virtual protected] void QFileDialog::accept()

Переопределено из QDialog::accept().

[override 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.

[override 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, const QString &caption, const QString &dir, QFileDialog::Options options)

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

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, const QString &caption, const QUrl &dir, QFileDialog::Options options, const QStringList &supportedSchemes = QStringList())

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

Функция используется аналогично 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 = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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 = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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().

END_OF_DOCUMENT_MARKER

[static] QUrl QFileDialog::getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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 = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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 = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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 = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::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().

END_OF_DOCUMENT_MARKER

QString QFileDialog::labelText(QFileDialog::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() в противном случае.

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

Эта функция была добавлена в 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)

Устанавливает текущий 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 каталога directory диалога выбора файла.

Примечание: Ненативный 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.

END_OF_DOCUMENT_MARKER

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

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

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

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 mime позволит вам открыть все из них.

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

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

void QFileDialog::setOption(QFileDialog::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)

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

QList<QUrl> QFileDialog::sidebarUrls() const

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

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

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

bool QFileDialog::testOption(QFileDialog::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/archives/qt-5.11/qfiledialog.html

Spec-Zone.ru

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