2016-06-02 3 views
1

Ich verwende QtQuick Dialoge 1.2 in Qt-Anwendung über Linux und möchte meinen FileDialog auf nur zwei von mir angegebene Pfade beschränken. Mein File-Dialog ist so etwas wie das:FileDialog-Ordner einschränken

FileDialog { 
    id: fileDialogExample 
    title: qsTr("File Dialog example") 
    nameFilters: [qsTr("Image files %1").arg("(*.jpg *.png)")] 
    folder: '/home/user/Downloads' 
} 

ich meine Datei möchte nur Dialog jpg/png-Dateien akzeptieren und in angegebenen Pfad zu starten, kann aber nur auf/mnt bewegen. Ist das mit Stock FileDialog in Qt Dialoge 1.2 möglich?

Antwort

0

In der Dokumentation wird nicht erwähnt, dass bestimmte Verzeichnisse zulässig sind. Was habe ich in ähnlicher Fall geschehen war so etwas wie folgt aus:

FileDialog { 
    onFolderChanged: { 
     if (/* folder not allowed */) 
      folder = /* closest allowed dir */ // does not do anything with stock FileDialog 
    } 
} 

Leider funktioniert das nicht mit Lager FileDialog. Ich habe benutzerdefinierte Komponente verwendet und ich hatte die volle Kontrolle über sie. Ich denke, dass es nicht möglich ist, mit der aktuellen FileDialog zu tun, was Sie brauchen. Natürlich können Sie den Dialog schließen, wenn der Benutzer einen unerwünschten Ordner öffnet und ihn dann mit dem richtigen Pfad wieder öffnet, aber ich würde es nicht empfehlen.