我的应用名为unwallpaper
,我想获取其应用数据路径:
qDebug() << QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
在Linux上返回/home/sign/.local/share
,但根据Qt Document
/home/sign/.local/share/<APPNAME>
我应该在某处设置APPNAME值吗?我正在使用Qt Creator和qmake。谢谢!
答案 0 :(得分:2)
如果未设置,则应用程序名称默认为可执行文件名称(自5.0起)。
奇怪的是,返回的路径根本不包含<APPNAME>
。
因此,更好的方法是明确设置application name和/或organization name,如下所示:
QCoreApplication::setApplicationName("unwallpaper");
QCoreApplication::setOrganizationName("organization");
答案 1 :(得分:0)
您应该使用QCoreApplication::applicationFilePath()。它返回应用程序可执行文件的文件路径(包括可执行文件名)。