QStandardPaths::findExecutable only finds executable binaries, so when explicitly pointing it at an existing file, it would complain about it not existing, rather than telling you it's not executable.
I was wondering how the QString returned by KIO::DesktopExecParser::executablePath() would work if it returned /usr/bin/foo (as it doesn't strip the path), so how does findExecutable() work in that case? ... so I tested and it turns out, findExecutable() will work with:
This change covers the use case of an absolute path to a file that _exists_ but isn't _executable_.
And again, findExecutable() would be more useful if it reported some sort of error saying "I found it, but it's not executable".
Why not QFileInfo::isAbsolute()?