【发布时间】:2016-04-16 13:20:52
【问题描述】:
我正在尝试允许将 .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() 函数对 .exe 文件返回 false。
我拥有该文件的权限,并且我已验证来自info 的文件路径正确指向可执行文件。
this question 的答案看起来好像任何带有 .exe 扩展名的文件都应该返回 true,那么为什么 QFileInfo::isExecutable() 返回 false?
【问题讨论】:
-
请注意,只有在 Windows 上,文件名才表示可执行性(.exe、.com)。在其他系统上,例如 UNIX,文件是否可执行与其名称无关,而是一个单独的标志。仅供参考。
标签: c++ qt drag-and-drop qfileinfo