Ich habe versucht, dies für ein paar Tage herauszufinden und habe es noch nicht herausgefunden. Grundsätzlich verwende ich einen QFileDialog, um eine Datei auszuwählen, aber wenn ich das Fenster ohne Auswahl einer Datei schließe, stürzt das Programm ab. Wie kann ich feststellen, ob keine Datei ausgewählt wurde? Hier ist der Code, den ich benutze:Wie kann ich feststellen, ob ein QFileDialog geschlossen wurde, ohne eine Datei auszuwählen?
Dies ist der Code, den ich verwende, um die ausgewählte Datei zu erhalten.
selectedFiles = loadFile.selectedFiles();
filename = selectedFiles.at(0);
ich versuchte, mit {if (dialog.selectedFiles.at (0)! = „“} , um zu sehen, wenn es keine ausgewählten Datei ist, aber es funktioniert nicht. Wenn ich eine Datei auswählen, wird es laufen der Code in der if-Anweisung nur in Ordnung.
Dank einer Tonne oder jede Hilfe!
Die Funktion 'exec' gibt einen [DialogCode] (http://doc.qt.io/qt-4.8/qdialog.html#DialogCode-enum) zurück. –
Sie sollten prüfen, ob selectedFiles leer ist (z. B. 'if (! SelectedFiles.isEmpty())') bevor Sie überhaupt versuchen, das erste Element zu erhalten. –
@CodyGray Ich bin mir fast sicher, dass das Auswählen einer Datei und das Akzeptieren der Auswahl den Status 'Akzeptiert' unabhängig von der fehlenden Auswahl auslöst. – rbaleksandar