En esta página

FileDialog QML Type

Un diálogo de archivo nativo. Más...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

Este tipo está obsoleto desde Qt.labs.platform 6.9. Desaconsejamos su uso en código nuevo.

Propiedades

Descripción detallada

Utilice QtQuick.Dialogs FileDialog en su lugar.

El tipo FileDialog proporciona una API QML para diálogos de archivo de plataforma nativa.

Un diálogo de archivo nativo

Para mostrar un diálogo de archivo, construya una instancia de FileDialog, establezca las propiedades deseadas y llame a open(). Las propiedades currentFile o currentFiles pueden utilizarse para determinar el archivo o archivos seleccionados actualmente en el cuadro de diálogo. Las propiedades file y files se actualizan sólo después de que se haya realizado la selección final aceptando el diálogo.

MenuItem {
    text: "Open..."
    onTriggered: fileDialog.open()
}

FileDialog {
    id: fileDialog
    currentFile: document.source
    folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
}

MyDocument {
    id: document
    source: fileDialog.file
}

Disponibilidad

Actualmente hay disponible un diálogo de archivos de plataforma nativa en las siguientes plataformas:

  • Android
  • iOS
  • Linux (cuando se ejecuta con el tema de plataforma GTK+)
  • macOS
  • Windows

El módulo Qt Labs Platform utiliza Qt Widgets como alternativa en plataformas que no disponen de una implementación nativa. Por lo tanto, las aplicaciones que utilizan tipos del módulo Qt Labs Platform deben enlazar con QtWidgets y utilizar QApplication en lugar de QGuiApplication.

Para enlazar con la biblioteca QtWidgets, añada lo siguiente al archivo de proyecto qmake:

QT += widgets

Crear una instancia de QApplication en main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Nota: No se garantiza que los tipos de los módulos Qt.labs sigan siendo compatibles en futuras versiones.

Véase también QtQuick.Dialogs::FileDialog, FolderDialog, y StandardPaths.

Documentación de propiedades

acceptLabel : string

Esta propiedad contiene el texto de la etiqueta mostrada en el botón que acepta el diálogo.

Cuando se establece a una cadena vacía, se utiliza la etiqueta por defecto de la plataforma subyacente. La etiqueta por defecto suele ser Open o Save dependiendo de en qué fileMode se utilice el diálogo.

El valor por defecto es una cadena vacía.

Véase también rejectLabel.

currentFile : url

Esta propiedad contiene el fichero actualmente seleccionado en el diálogo.

A diferencia de la propiedad file, la propiedad currentFile se actualiza mientras el usuario está seleccionando archivos en el diálogo, incluso antes de que se haya realizado la selección final.

Véase también file y currentFiles.

currentFiles : list<url>

Esta propiedad contiene los archivos actualmente seleccionados en el diálogo.

A diferencia de la propiedad files, la propiedad currentFiles se actualiza mientras el usuario está seleccionando archivos en el diálogo, incluso antes de que se haya realizado la selección final.

Véase también files y currentFile.

defaultSuffix : string

Esta propiedad contiene un sufijo que se añade a los archivos seleccionados que no tienen un sufijo especificado. El sufijo se utiliza normalmente para indicar el tipo de archivo (por ejemplo, "txt" indica un archivo de texto).

Si el primer carácter es un punto ('.'), se elimina.

file : url

Esta propiedad contiene el archivo final aceptado.

A diferencia de la propiedad currentFile, la propiedad file no se actualiza mientras el usuario está seleccionando archivos en el diálogo, sino sólo después de haber realizado la selección final. Es decir, cuando el usuario ha pulsado OK para aceptar un archivo. Alternativamente, se puede manejar la señal accepted() para obtener la selección final.

Véase también currentFile y accepted().

fileMode : enumeration

Esta propiedad contiene el modo del diálogo.

Valores disponibles:

ConstanteDescripción
FileDialog.OpenFileEl diálogo se utiliza para seleccionar un fichero existente (por defecto).
FileDialog.OpenFilesEl diálogo se utiliza para seleccionar múltiples ficheros existentes.
FileDialog.SaveFileEl diálogo se utiliza para seleccionar cualquier fichero. No es necesario que el fichero exista.

files : list<url>

Esta propiedad contiene los archivos finales aceptados.

A diferencia de la propiedad currentFiles, la propiedad files no se actualiza mientras el usuario está seleccionando archivos en el diálogo, sino sólo después de haber realizado la selección final. Es decir, cuando el usuario ha pulsado OK para aceptar los archivos. Alternativamente, se puede manejar la señal accepted() para obtener la selección final.

Véase también currentFiles y accepted().

folder : url

Esta propiedad contiene la carpeta donde se seleccionan los archivos. Para seleccionar una carpeta, utilice FolderDialog en su lugar.

Véase también FolderDialog.

nameFilters : list<string>

Esta propiedad contiene los filtros que restringen los tipos de archivos que se pueden seleccionar.

FileDialog {
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

Nota: *.* no es un filtro portable, porque la suposición histórica de que la extensión del archivo determina el tipo de archivo no es consistente en todos los sistemas operativos. Es posible tener un archivo sin punto en su nombre (por ejemplo, Makefile). En un diálogo de archivos nativo de Windows, *.* coincidirá con dichos archivos, mientras que en otros tipos de diálogos de archivos puede que no. Así que es mejor usar * si quiere seleccionar cualquier archivo.

Véase también selectedNameFilter.

options : flags

Esta propiedad contiene las distintas opciones que afectan al aspecto del diálogo.

Por defecto, todas las opciones están desactivadas.

Las opciones deben establecerse antes de mostrar el diálogo. Establecerlas mientras el diálogo está visible no garantiza que tenga un efecto inmediato en el diálogo (dependiendo de la opción y de la plataforma).

Opciones disponibles:

ConstanteDescripción
FileDialog.DontResolveSymlinksNo resolver enlaces simbólicos en el diálogo de archivos. Por defecto se resuelven los enlaces simbólicos.
FileDialog.DontConfirmOverwriteNo pedir confirmación si se selecciona un fichero existente. Por defecto se pide confirmación.
FileDialog.ReadOnlyIndica que el diálogo no permite crear directorios.
FileDialog.HideNameFilterDetailsIndica si los detalles del filtro de nombre de fichero están ocultos o no.

rejectLabel : string

Esta propiedad contiene el texto de la etiqueta que se muestra en el botón que rechaza el diálogo.

Cuando se establece a una cadena vacía, se utiliza la etiqueta por defecto de la plataforma subyacente. La etiqueta por defecto suele ser Cancel.

El valor por defecto es una cadena vacía.

Véase también acceptLabel.

selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.index : int

selectedNameFilter.name : string

Estas propiedades contienen el filtro de nombre seleccionado actualmente.

NombreDescripción
índice: intEsta propiedad determina qué name filter está seleccionado. El filtro especificado se selecciona cuando se abre el cuadro de diálogo. El valor se actualiza cuando el usuario selecciona otro filtro.
[sólo lectura] name: stringEsta propiedad contiene el nombre del filtro seleccionado. En el ejemplo siguiente, el nombre del primer filtro es "Text files" y el del segundo es "HTML files".
[sólo lectura] extensions: lista<string>Esta propiedad contiene la lista de extensiones del filtro seleccionado. En el ejemplo siguiente, la lista de extensiones del primer filtro es ["txt"] y la del segundo es ["html", "htm"].
FileDialog {
    id: fileDialog
    selectedNameFilter.index: 1
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

MyDocument {
    id: document
    fileType: fileDialog.selectedNameFilter.extensions[0]
}

Véase también nameFilters.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.