abu*_*buv 5 c++ macos qt ios qtcore
我正在开发一个程序,该程序将从某个目录中提取文件,并将其复制到Qt的工作目录中,以供我的应用程序读取。现在,我当前的路径是:
/Users/softwareDev/Desktop/User1/build-viewer-Desktop_Qt_5_4_0_clang_64bit-Debug/viewer.app/Conents/MacOS/viewer
为此,我使用了:
qDebug() << QDir::current().path();
Run Code Online (Sandbox Code Playgroud)
并使用以下命令确认此目录:
qDebug() << QCoreApplication::applicationDirPath();
Run Code Online (Sandbox Code Playgroud)
我的问题是,我将如何改变这条道路?
将其复制到Qt的工作目录
不知道在这种情况下“ Qt”到底是什么意思。如果安装了库,则应将该路径与要处理的文件名关联,而不是将当前工作目录设置为公平。
但是,为什么要完全更改工作目录?尽管您可能想解决一个问题,但您可能会立即引入其他问题。感觉就像是XY问题。我认为您实际上将需要其他解决方案,例如上述解决方案。
如果您仍然坚持更改当前工作目录或出于任何原因,则可以使用此静态方法:
布尔QDir ::?setCurrent(const QString&path)
将应用程序的当前工作目录设置为path。如果目录已成功更改,则返回true;否则,返回false。否则返回false。
因此,您将发出以下内容:
#include <QDir>
#include <QDebug>
int main()
{
qDebug() << QDir::currentPath();
if (!QDir::setCurrent(QStringLiteral("/usr/lib")))
qDebug() << "Could not change the current working directory";
qDebug() << QDir::currentPath();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
Run Code Online (Sandbox Code Playgroud)
qmake && make && ./main
Run Code Online (Sandbox Code Playgroud)
"/tmp/stackoverflow/change-cwd"
"/usr/lib"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9798 次 |
| 最近记录: |