gpt4 book ai didi

c++ - QFileInfo::isExecutable() 为 ".exe"文件返回 false

转载 作者:行者123 更新时间:2023-11-28 05:43:33 35 4
gpt4 key购买 nike

我试图允许将 .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();
}
}

但是对于 .exe 文件,isExecutable() 函数返回 false。

我有权访问该文件,并且我已验证 info 中的文件路径正确指向可执行文件。

this question 的答案看起来任何带有 .exe 扩展名的文件都应该返回 true,那么为什么 QFileInfo::isExecutable() 返回 false?

最佳答案

尽管 QFileInfo info(e->mimeData()->urls().first().fileName() 似乎为可执行文件提供了有效的 QFileInfo ,它实际上并没有完全发挥作用。

使用 toLocalFile() 而不是 fileName() 解决了这个问题。

关于c++ - QFileInfo::isExecutable() 为 ".exe"文件返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664717/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com