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()
решил проблему.