Отмена QFileDialog

Я новичок в QT. В настоящее время в моем проекте я реализовал QFileDialog.

В моем случае: всякий раз, когда пользователь выбирает текстовый файл, он выполняет functionA. Однако я обнаружил, что если я нажму кнопку «Отмена» в диалоговом окне файла, functionA все равно будет выполнено.

Это мой фрагмент кода:

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                    "/home",
                                                 tr("Text File (*.txt"));

// I want something like following :

if(QFileDialog.isOkButtonClicked)
{
    // execute functionsA
}

Я просмотрел документацию QFileDialog и ничего подобного. Можно ли этого добиться или есть какое-то другое решение? благодаря.


person LOK CARD    schedule 26.05.2015    source источник
comment
doc.qt.io/qt-5/qfiledialog.html#getOpenFileName В документе говорится: это удобная статическая функция, которая возвращает существующий файл, выбранный пользователем. Если пользователь нажимает Cancel, возвращается пустая строка.   -  person Alexander V    schedule 26.05.2015
comment
Спасибо за ответ @AlexanderVX. Я добавил if(!fileName.isEmpty()&&fileName!=""), и это работает. Но я не уверен, что это то, что вы подразумеваете?   -  person LOK CARD    schedule 26.05.2015
comment
Ага. проверка на !filenName.isNull() подойдет.   -  person Alexander V    schedule 26.05.2015


Ответы (1)


благодаря АлександруВХ

решение простое:

if(!fileName.isEmpty()&& !fileName.isNull()){
// functionA
}
person LOK CARD    schedule 26.05.2015