QFileInfo::isExecutable() возвращает false для файла ".exe"

Я пытаюсь разрешить перетаскивание файлов модульного теста.exe в QMainWindow, мой dragEnterEvent выглядит так:

void MainWindow::dragEnterEvent(QDragEnterEvent *e)
{   
    if (e->mimeData()->hasUrls()) 
    {
        QFileInfo info(e->mimeData()->urls().first().fileName()); // this works
        if (info.isExecutable())   // false for .exe??
            e->acceptProposedAction();      
    }
}

Тем не менее isExecutable() функция возвращает false для файлов.exe.

У меня есть разрешения на файл, и я проверил, что путь к файлу от info правильно указывает на исполняемый файл.

От ответа на этот вопрос кажется, что любой файл с расширением.exe должен возвращаться trueтак почему же QFileInfo::isExecutable() возвращение ложного?

1 ответ

Решение

Даже если QFileInfo info(e->mimeData()->urls().first().fileName() появился, чтобы дать действительный QFileInfo для исполняемого файла это не было на самом деле полностью работает.

С помощью toLocalFile() вместо fileName() решил проблему.

Другие вопросы по тегам