Qt: Expand ~ to home-directory

2019-02-21 14:02发布

问题:

Does Qt have any platform-independent functionality to accept paths like "~/myfile"?

I know about wordexp, but it would be nice with a platform-independent wrapper.

Edit:

Thank you all for the responses. "~/myfile" was just an example. What I am looking for is functionality to handle file-paths as you would be able to write on the command-line. So on Linux, it should accept "~/myfile", "~otheruser/hisfile", "$VAR/file" etc. On Windows, it should accept "%HOMEDIR%\myfile" etc.

回答1:

You could probably just replace the tilde with the result of QDir::homePath()? Reference here.



回答2:

Look at the class QDesktopServices:

http://doc.qt.io/qt-5/qdesktopservices.html



回答3:

I think that the absolutePath (http://doc.qt.io/qt-5/qdir.html#absolutePath) is the way to do it.