APPNAME不包含在QStandardPaths :: AppDataLocation中

时间:2017-03-24 10:28:29

标签: c++ linux qt

我的应用名为unwallpaper,我想获取其应用数据路径:

qDebug() << QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);

在Linux上返回/home/sign/.local/share,但根据Qt Document

,应该返回/home/sign/.local/share/<APPNAME>

我应该在某处设置APPNAME值吗?我正在使用Qt Creator和qmake。谢谢!

2 个答案:

答案 0 :(得分:2)

根据application name docs

  

如果未设置,则应用程序名称默认为可执行文件名称(自5.0起)。

奇怪的是,返回的路径根本不包含<APPNAME>

因此,更好的方法是明确设置application name和/或organization name,如下所示:

QCoreApplication::setApplicationName("unwallpaper");
QCoreApplication::setOrganizationName("organization");

答案 1 :(得分:0)

您应该使用QCoreApplication::applicationFilePath()。它返回应用程序可执行文件的文件路径(包括可执行文件名)。